Для решения вашей проблемы, вы можете или переписать скрипт assets/components/tickets/js/web/default.js под себя, или отключить аякс-добавление для комментариев, или перезагружать pdoPage своим аяксом, при добавлении комментария.
В крайнем случае, если обработка сниппета сработает раньше, чем определение MobileDetect, вы можете написать простой сниппет, определяющий плейсхолдер в зависимости от версии устройства и его результат уже возвращать в tplRow.
Или же решить задачу вообще методами css:
Можно, например, использовать атрибуты ссылки документов, дописав в элементы верхнего уровня «topLevel», а в вызове pdoMenu проверять уже его наличие.
2. Напрямую в сниппете — нет. Но в чанке вызова можно использовать hidden input-ы с нужными значениями или, если дефолтное значение можно переопределять, использовать фильтр :default.
А в целом — почти не костыль.) Только если добавленный комментарий определит новую страницу, то скрипт перенесет не на последнюю…
Upd: добавление нового комментария происходит при помощи аякса, возвращая комментарий методом append в нужный контейнер ('#comments' или '#comment-'+parent+' > .comments-list', если комментарий добавлен вложенным ответом). С выводимым сниппетом он уже никак не связан.
Для решения вашей проблемы, вы можете или переписать скрипт assets/components/tickets/js/web/default.js под себя, или отключить аякс-добавление для комментариев, или перезагружать pdoPage своим аяксом, при добавлении комментария.
Если смотреть по моему опыту — то пока во всех заказанных проектах магазинов приходилось писать свои стили, без бутстрапа.
По вопросу с этой сборкой, думаю, вам лучше обратиться непосредственно в modxclub.
Что же до нагрузочного тестирования — лично не ставил, но вполне может быть, учитывая комментарии непосредственно на хабре.
Если вам нужно подключать разные чанки, в зависимости от того, с какого устройства зашел пользователь (и вы определяете это через MobileDetect), то что мешает получить результат следующим образом:
В крайнем случае, если обработка сниппета сработает раньше, чем определение MobileDetect, вы можете написать простой сниппет, определяющий плейсхолдер в зависимости от версии устройства и его результат уже возвращать в tplRow.
— а дальше, по аналогии с определением названия для фильтров по лексикону, добавляйте соответствующие записи.
1. Js (идентификатор и алерт заменить на подходящие себе):
2. Плагин на события msOnBeforeAddToCart и msOnBeforeChangeInCart
<?php
— как-то так.
Для оптимизации скорости самого evo вы можете попробовать воспользоваться сборкой от Dmi3yy или перенести сайт на revo и более современный аналог интернет-магазина — minishop2, shopkeeper3 или shopmodxbox.
Если у вас есть структура вида:
И в случае захода в подкатегорию и выбора требуемых опций через фильтрацию, у вас все отображается корректно, а через бренд — нет, то, скорее всего, проблема в определении параметра &parent для каждого раздела.
А вообще — приложите лучше коды вызова сниппетов, так будет намного более наглядно, чем «категории подподкатегорий»..)
Что же до второго вопроса — спрашивайте. Или можно обратиться вот сюда, например.