Проблема с выводом корзины Shopkeeper
Доброго вечера!
Столкнулся со следующей проблемой при выводе корзины на странице.
Есть два типа (два шаблона) для корзин на сайте в шапке и на странице оформления заказа — малая и большая соответственно. Обе вызываются с созданным набором параметров «shopCart»:
Малая (в шапке на всех страницах):
[[!Shopkeeper@shopCart?propertySetName=`shopCart`&cartTpl=`cartBigTpl`]]
...formit-форма, как в доках
[[!$shopOrderForm]]
При заходе на страницу заказа где-то секунду у корзины отображается нужный шаблон (т.е cartBigTpl), после чего, почему-то, прямо тут же переключается на шаблон, который стоит в параметрах по умолчанию…
Если убрать со страницы [[!$shopOrderForm]], шаблон вызывается тот, который нужно и нормально отображается.
Не понимаю, как бороться. Помогите, плиз...:/
Столкнулся со следующей проблемой при выводе корзины на странице.
Есть два типа (два шаблона) для корзин на сайте в шапке и на странице оформления заказа — малая и большая соответственно. Обе вызываются с созданным набором параметров «shopCart»:
Малая (в шапке на всех страницах):
[[!Shopkeeper@shopCart?propertySetName=`shopCart`&cartTpl=`cartMiniTpl`&cartHelperTpl=`helperTpl`]]
Большая (на странице оформления заказа):[[!Shopkeeper@shopCart?propertySetName=`shopCart`&cartTpl=`cartBigTpl`]]
И вот, собственно, затык. Малая корзина выводится нормально, но с большой начинаются проблемы, как только вставляю ниже нее [[!$shopOrderForm]][[!Shopkeeper@shopCart?propertySetName=`shopCart`&cartTpl=`cartBigTpl`]]
...formit-форма, как в доках
[[!$shopOrderForm]]
При заходе на страницу заказа где-то секунду у корзины отображается нужный шаблон (т.е cartBigTpl), после чего, почему-то, прямо тут же переключается на шаблон, который стоит в параметрах по умолчанию…
Если убрать со страницы [[!$shopOrderForm]], шаблон вызывается тот, который нужно и нормально отображается.
Не понимаю, как бороться. Помогите, плиз...:/
Комментарии: 8
Два вопроса.
• А у Вас на странице оформления сразу вызываются две корзины — и в шапке и перед формой?
• А если так: [[$shopOrderForm]]?
• А у Вас на странице оформления сразу вызываются две корзины — и в шапке и перед формой?
• А если так: [[$shopOrderForm]]?
Корзина, конечно, вызывается только одна.
Чанк пробовал вызывать таким образом, не помогло.
Чанк пробовал вызывать таким образом, не помогло.
Тогда cложно дистанционно что-то сказать, нужно смотреть, что там у Вас в админке.
Я обычно для корзины в шапке и на странице оформления использую разные наборы параметров.
В них и прописываю все шаблоны сразу, а на страницах просто вызываю:
Я обычно для корзины в шапке и на странице оформления использую разные наборы параметров.
В них и прописываю все шаблоны сразу, а на страницах просто вызываю:
[[!Shopkeeper@up_cart?propertySetName=`up_cart`]]
и[[!Shopkeeper@order_cart?propertySetName=`order_cart`]]
Решил проблему. Во-первых — да, нужно было два набора параметров и внутри низ все прописать. Однако, это не помогло. Не помогло, как оказалось, потому что сайт был на локалке. Перенес на хостинг и все стало работать нормально. Спасибо!
Ну и славненько )
UPD
Поскольку эту страницу поисковики выдают при целевом запросе в топе, позволю себе оставить здесь результат расследования почему иногда происходит такой глюк при выводе корзины Shopkeeper (версия 2).
Если Вы посмотрите в код страницы с выводом SHK 2, то увидите там такой кусок:
В psn в зашифрованном виде прописано имя набора параметров сниппета.
Так вот глюк происходит, когда значение этого параметра пусто (естественно, SHK в этом случае берет все настройки из умолчальных и выводит стандартные шаблоны).
Пуст данный параметр бывает, когда на сервере по каким-то причинам не работает шифрование MCRYPT_RIJNDAEL_128 в mcrypt. На некоторых хостингах (TimeWeb, к примеру) это происходит при установленном PHP 5.6, в то время как на 5.4 все работает нормально.
В общем, для решения данной проблемы можно либо поэкспериментировать с версией PHP, либо заменить MCRYPT_RIJNDAEL_128 на, к примеру, MCRYPT_BLOWFISH в двух файлах:
core/components/shopkeeper/model/shopkeeper.class.php (строки 258, 259, 275, 276)
core/components/shopkeeper/ajax-action.php (строки 43 и 44).
Поскольку эту страницу поисковики выдают при целевом запросе в топе, позволю себе оставить здесь результат расследования почему иногда происходит такой глюк при выводе корзины Shopkeeper (версия 2).
Если Вы посмотрите в код страницы с выводом SHK 2, то увидите там такой кусок:
..., noLoader:true, animCart:false, psn:'yl/xNXi3xvsK6EloR81ZEg==', ...
В psn в зашифрованном виде прописано имя набора параметров сниппета.
Так вот глюк происходит, когда значение этого параметра пусто (естественно, SHK в этом случае берет все настройки из умолчальных и выводит стандартные шаблоны).
Пуст данный параметр бывает, когда на сервере по каким-то причинам не работает шифрование MCRYPT_RIJNDAEL_128 в mcrypt. На некоторых хостингах (TimeWeb, к примеру) это происходит при установленном PHP 5.6, в то время как на 5.4 все работает нормально.
В общем, для решения данной проблемы можно либо поэкспериментировать с версией PHP, либо заменить MCRYPT_RIJNDAEL_128 на, к примеру, MCRYPT_BLOWFISH в двух файлах:
core/components/shopkeeper/model/shopkeeper.class.php (строки 258, 259, 275, 276)
core/components/shopkeeper/ajax-action.php (строки 43 и 44).
Автор уже смерджил коммиты с исправлениями, но не знаю, будет ли выкладывать обновление в репозитории.
Спасибо, не видел. Этот глюк столько крови попил )))
Если Андрей поправит, будет супер, если нет, то, думаю, многим при cмене версии PHP на старых магазинах эта инфа сбережет нервы и время ).
Если Андрей поправит, будет супер, если нет, то, думаю, многим при cмене версии PHP на старых магазинах эта инфа сбережет нервы и время ).
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.