Ошибка с шаблоном корзины в SHK2



  • На этом и других форумах часто возникал вопрос по выводу умолчального шаблона при добавлении товара в корзину. Сам не раз натыкался на данный глюк и лихорадочно пытался найти откуда ноги растут, в общем, делюсь результатами расследования )).

    Если Вы посмотрите в код страницы с выводом SHK 2, то увидите там такой момент:

    ...animCart:false, psn:'yl/xNXi3xvsK6EloR81ZEg==', ...
    

    В psn в зашифрованном виде прописано имя набора параметров сниппета и глюк происходит, когда значение этого параметра пусто (естественно, SHK2 в этом случае берет все настройки из умолчальных и выводит стандартные шаблоны).

    А вот пуст данный параметр бывает, когда на сервере по каким-то причинам не работает шифрование 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).

    Хоть сейчас вовсю используется SHK3 (там такой ошибки нет), на старых магазинах при смене версии PHP может произойти подобная неприятность и буду рад, если кому-то данный топик сэкономит кучу нервов и времени ))


  • Администраторы

    Версия 2.x не поддерживается. Используйте актуальную версию из ветки 3.x.



  • Хоть сейчас вовсю используется SHK3 (там такой ошибки нет), на старых магазинах при смене версии PHP может произойти подобная неприятность и буду рад, если кому-то данный топик сэкономит кучу нервов и времени ))

    ...и внезапно, в начале 2017, этот топик экономит мне кучу нервов и времени! Большое спасибо @rpa
    Пришлось потыкать палочкой один старый магазин, который уже вряд ли переедет на SHK3



  • @whitebyte Для того и написал )))



Похоже, подключение к Форум | MODX Shopkeeper было разорвано, подождите, пока мы пытаемся восстановить соединение.