
Роман Воропаев (Volk)
С нами с 03 декабря 2015; Место в рейтинге пользователей: #123- Заметки 256
- Комментарии 64
2 часа назад
Добрый день.
Подскажите, где искать почтовый шаблон?
message = $pdo->getChunk('@FILE chunks/email/user.register.tpl', array('username' => ...
Отправка Email о регистрации при оформлении заказа в miniShop2 22
Вчера в 14:47
Все проще, ИИ просто выдумывает. Он чтобы дать ответ придумывает, то чего не было.
PageBlocks стал ещё мощнее — теперь с пагинацией, сортировкой и фильтрацией 23
11 июня 2025, 17:29
Компонент создан для MODX2 и MODX3. Загрузил в репозиторий, жду модерации.
Проверка на новые файлы с уведомлением в телегу 9
10 июня 2025, 23:12
спасибо большое за подсказки!
**Это можно сделать даже без пароля или с отключенной учетной записью (если он спец)*** вот те на :((( а закрыть это ни...
Взломали сайт на версии 2.6.5 2
10 июня 2025, 16:59
Noto Sans
В миникорзине msMCD обновляется цена и счетчик на лету, а pagetitle и изображение только при обновле... 6
09 июня 2025, 16:11
Спасибо, Илья, способ рабочий, пытаюсь его прикрутить к немного усложненной задаче: надо вывести все товары одного производителя и разбить их по катег...
Подскажите с выводом категорий 13
думаю должно сработать.
прикручивания костылейсоздания нового модификатора. сам вид размеров у меня 450*1800*115 или 450x1800x115.в итоге чанк вызова опций tpl.msOptions:
модификатор sort:
Суть его в том, чтобы кеш-префикс поменять для https-запросов.
Важно: на разных хостингах вместо $_SERVER['SERVER_PORT'] может быть другой параметр, надо смотреть индивидуально
Тогда сайт не будет потерян поисковиком и не вызовет выпода из индекса.
В robots.txt еще надо прописать жестко Host: site_domain.
После этого месяца через три (когда поисковики полностью перестроят индексы), можно уже будет настроить и редирект.
Ладно, это лирика. Я так понял, подмену в контроллере ты делаешь для того, чтобы можно было дерево документов справа выводить через кастомный JS-layout?
ОК, тогда такое решение, для примера:
Замена через регулярки, конечно, жестко, но в твоем случае это меньший хардкод, чем было. И в таком случае дерево справа выводится, и modxSDK работает.
А теперь интересное: я так понял, при включенной JS-компрессии в админке у тебя эта штука не работает? Ведь ты вклиниваешься только в блоке отключенной компрессии. Поэтому я и добавил проверку включена ли компрессия. Включаем компрессию, и уже кастомный JS отсутствует, и функционал не работает.
Не работает и без моих модификаций (без них только еще и modxSDK работать перестает).
Правда тут сложнее становится? Надо в компрессированный JS-файл вклиниться, а это уже гораздо сложнее и простой регулярочкой сложно, а главное — глупо. Поэтому ищем более правильное решение, а именно расширение самого MODx.Layout. Вот тебе такой расширяющий Layout.
Согласись, 90 строк лучше 420-ти?
А в классе твоем итоговый код будет таким:
И здесь сразу несколько плюсов:
1. Это работает теперь в том числе и на включенной компрессии.
2. Это не перетирает чужие кастомные скрипты.
3. Это не ломает чужие лейауты (сейчас, если кто-то переопределит на свой лад modx-layout, свой код его затрет).
4. Гораздо меньше кода (что обслуживать легче).
5. БОльшая обратная совместимость (не придется отслеживать версию MODX-а в случае, если в новой версии MODX-а будут изменения на уровне твоего текущего переопределенного блока контроллера).
В общем, если ты хочешь писать правильные компоненты, во-первых, меньше огрызайся и больше слушай других, а во-вторых, научись хотеть писать правильный код. У тебя есть мышление, но нет правильного взгляда на такие вещи.
P.S. А еще лучше пуллреквест бы в MODX отправил. Там вопрос в двух строчках.
Если мы формируем заказ будучи не авторизованными, а потом авторизовываемся на странице оформления заказа, то корзина заменяется и мы теряем товары, которые только что сложили.
Для исправления необходимо чуть поправить событие OnWebLogin
Раньше я так постоянно чистил систему от старых ненужных версий…
Как пример https://premier-tur.com/sanitariums/abzakovo — страница объекта с несколькими каруселями и формой в произвольных местах. В итоге MODX теги обрабатываются не везде, а только там, где это нужно.