Ответить Новая тема Новый опрос 
Всего: 2 1 2 >
 Undefined после фильтра или перехода на страницу
CitizenDild0
Новичок
Сообщений: 74
Регистрация: 24-09-2010


30-03-2016 15:07
Добрый день,
У меня проблема: Модуль передает переменную в тпл файлы. Везде все работает хорошо, кроме страницы категорий. Если в product-list.tpl используется переменная - все хорошо при первой загрузке любой категории. Если использовать любой фильтр layered navugation block`a, или перейти на вторую страницу педжинейшена (соответственно в адресной строке добавляется #) - переменная сразу становиться undefined

Как решить эту проблему, нужна помощь, пожалуйста!
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
CitizenDild0
Новичок
Сообщений: 74
Регистрация: 24-09-2010


01-04-2016 01:37
Вверх
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
CitizenDild0
Новичок
Сообщений: 74
Регистрация: 24-09-2010


01-04-2016 19:11
ну это # после применения любого фильтра или после перехода на любую страницу. Есть какое-то конкретное решение? для престашопа.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
CitizenDild0
Новичок
Сообщений: 74
Регистрация: 24-09-2010


20-04-2016 17:02
вопрос по прежнему актуален.
Я использую переменную с модуля:
$this -> context -> smarty -> assign('theme', $var);

в product-list.tpl :

{if isset($theme.var) && $theme.var == "1"}
...
{/if}

Все работает прекрасно, условие выполняется.

Если я что-то меняю в фильтре layered navigation block, или делаю любой сортинг, например по цене или перехожу на вторую страницу - переменная становится undefined и ничего не работает. Видимо это из-за того что продукты перезагружаются AJAX ом.

Я нашел что для этого можно попробовать передать переменную через coockie. Кто-нибудь может помочь как это сделать? Пожалуйста!

 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ruleoffdv


Cпециалист
Сообщений: 209
Регистрация: 05-05-2013


03-05-2016 09:28
Данные привязываются к кому то?
1. Нерегистрированным
2. регистрированным .

Думаю есть вариант валбериез делал. по любому клику на сайте автоматически сосзадавалась временная учетка . там уже видимо данные хранились о просмотрах итд

Я как понял данные нужны для яндекс метрики? там есть такая штука как цели по принятому параметру на странице( скажем после нажатия кнопки срабатывает параметр = ok, оно работает как цель достигнута- и сегментировать можно )

Думаю первое чтобы я делал .

Если вытаскиваем переменную и передаем в link. ?

1. тогда нужно работать с классами престы в формировании линка , предложить выбор, далее передаем методом переменной как то так)

2.второй вариант 1.при заходе на сайте спросить параметры челвоека 2. создать автоматически учетку и параметры 3. мы имеем клиент->параметр

-----------
Слишком сложно конечно не понимать для чего и что ) вам именно нужно конечно цель . Возможно сделать все легче =) если напишите подробнее
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


14-05-2016 13:56
Цитата:( CitizenDild0 @ 30-03-2016 16:07 Смотреть сообщение )
Если использовать любой фильтр layered navugation block`a, или перейти на вторую страницу педжинейшена (соответственно в адресной строке добавляется #) - переменная сразу становиться undefined

Сохраняйте переменную в cookie, шаблоне и тд.
Пример:
В шаблоне category.tpl добавьте подобный код:
Код:
<input type="hidden" id="myname" name="myname" value="{$myname}" />

Далее при необходимости забирайте данные используя:
Код:
$("#myname").val()
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
CitizenDild0
Новичок
Сообщений: 74
Регистрация: 24-09-2010


13-07-2016 13:24
Цитата:( Алекс @ 14-05-2016 09:56 Смотреть сообщение )
Далее при необходимости забирайте данные используя:
Код:
$("#myname").val()


Спасибо большое за ответ. Так как мы в .tpl файле, я использую
{$("#myname").val()} ну или
{assign var='myname' value=$('#myname').val()}

Но престашоп пишет что синтаксис не правильный. ( не ожидается. Я уже 20 вариантов перепробовал но не могу забрать с инпута вэлью, чтобы был правильный синтаксис.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
CitizenDild0
Новичок
Сообщений: 74
Регистрация: 24-09-2010


14-07-2016 15:10
Что получается: модуль передает переменную $myname, взависимоти от которой меняется темплейт в product-list.tpl. Все работает до момента когда мы используем фильтр и сортинг - весь файл product-list.tpl перегружается, и обращение к переменной в нем

Код:
{if $myname == "5"} ... {/if}


не работает (undefined).

получается переменную $myname мне надо вынести за файл product-list.tpl. Чтобы не вставлять ее в каждую страницу где есть продукт-лист - я вставляю ее в header.tpl , допустим в input:

Код:
<input type="hidden" id="myname" name="myname" value="{if isset($myname)}{$myname}{/if}" />


теперь мне надо в product-list вместо обращения к этой переменной, переделать на обращение к value этого инпута из header.tpl.

Как можно это сделать? Пожалуйста, помогите.


Сообщение отредактировал CitizenDild0 (14-07-2016 11:11)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
CitizenDild0
Новичок
Сообщений: 74
Регистрация: 24-09-2010


01-08-2016 16:16
Вверх
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
CitizenDild0
Новичок
Сообщений: 74
Регистрация: 24-09-2010


10-08-2016 14:29
вверх
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос 
Всего: 2 1 2 >