Проблема с выводом корзины Shopkeeper

Доброго вечера!

Столкнулся со следующей проблемой при выводе корзины на странице.

Есть два типа (два шаблона) для корзин на сайте в шапке и на странице оформления заказа — малая и большая соответственно. Обе вызываются с созданным набором параметров «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]], шаблон вызывается тот, который нужно и нормально отображается.

Не понимаю, как бороться. Помогите, плиз...:/
spirit
09 декабря 2014, 22:34
modx.pro
1
3 228
0

Комментарии: 8

Павел Романов
10 декабря 2014, 18:03
0
Два вопроса.
• А у Вас на странице оформления сразу вызываются две корзины — и в шапке и перед формой?
• А если так: [[$shopOrderForm]]?
    spirit
    10 декабря 2014, 20:22
    0
    Корзина, конечно, вызывается только одна.
    Чанк пробовал вызывать таким образом, не помогло.
      Павел Романов
      11 декабря 2014, 10:03
      0
      Тогда cложно дистанционно что-то сказать, нужно смотреть, что там у Вас в админке.

      Я обычно для корзины в шапке и на странице оформления использую разные наборы параметров.
      В них и прописываю все шаблоны сразу, а на страницах просто вызываю:

      [[!Shopkeeper@up_cart?propertySetName=`up_cart`]]
      и
      [[!Shopkeeper@order_cart?propertySetName=`order_cart`]]
        spirit
        11 декабря 2014, 12:07
        0
        Решил проблему. Во-первых — да, нужно было два набора параметров и внутри низ все прописать. Однако, это не помогло. Не помогло, как оказалось, потому что сайт был на локалке. Перенес на хостинг и все стало работать нормально. Спасибо!
Павел Романов
01 мая 2016, 12:16
0
UPD
Поскольку эту страницу поисковики выдают при целевом запросе в топе, позволю себе оставить здесь результат расследования почему иногда происходит такой глюк при выводе корзины 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).
    Василий Наумкин
    01 мая 2016, 12:49
    +1
    Автор уже смерджил коммиты с исправлениями, но не знаю, будет ли выкладывать обновление в репозитории.
      Павел Романов
      01 мая 2016, 13:02
      0
      Спасибо, не видел. Этот глюк столько крови попил )))
      Если Андрей поправит, будет супер, если нет, то, думаю, многим при cмене версии PHP на старых магазинах эта инфа сбережет нервы и время ).
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    8