Готовые решения
Расширение любых таблиц MODX
В очередной раз понадобилось изменить таблицу сайта, менять которую не предусмотрено.
Что обычно люди делают в таких случаях? Верно, редактируют ядро или нужный компонент, и больше их не обновляют. Но ведь это неправильно, и можно решить вопрос иначе.
Пишем обычный плагин, выставляем для него событие OnMODXInit и меняем модель для нужных классов системы или дополнений. Например, я добавил id менеджера в заказ miniShop2:
Что обычно люди делают в таких случаях? Верно, редактируют ядро или нужный компонент, и больше их не обновляют. Но ведь это неправильно, и можно решить вопрос иначе.
Пишем обычный плагин, выставляем для него событие OnMODXInit и меняем модель для нужных классов системы или дополнений. Например, я добавил id менеджера в заказ miniShop2:
Отображение тикета в админке
Появилась бы отдельностоящая версия TicketComments, чтоб можно было бы просто комментарии цеплять к обычным ресурсам (или товарам) — было бы мне счастье. Но пока так. И в том виде, в котором сейчас существует Tickets меня напрягает одна вещь — то как тикеты отображаются в админке.
Поле с контентом становится очень узким, чтоб в правой части экрана отобразись дополнительные поля. Та же история в Articles, кстати. Зачем оно так мне совершенно не понятно. Поэтому я залез своими грязными лапами в файлик ticket.common.js (/assets/components/tickets/js/mgr/ticket/), чтоб сделать тикеты внешне похожими на обычные ресурсы modx.Так как я вообще ни разу не программист, получилось у меня это сделать не до конца: выбрать автора тикета теперь не получится, но в остальном вроде норм.

Теперь контент отображается как обычно: снизу и на всю ширину. Настройки страницы в соответствующей вкладке, комментарии в отдельной.
Собственно, вот мой ticket.common.js: yadi.sk/d/ytW6fEy3o6vgF
Поле с контентом становится очень узким, чтоб в правой части экрана отобразись дополнительные поля. Та же история в Articles, кстати. Зачем оно так мне совершенно не понятно. Поэтому я залез своими грязными лапами в файлик ticket.common.js (/assets/components/tickets/js/mgr/ticket/), чтоб сделать тикеты внешне похожими на обычные ресурсы modx.
Теперь контент отображается как обычно: снизу и на всю ширину. Настройки страницы в соответствующей вкладке, комментарии в отдельной.
Собственно, вот мой ticket.common.js: yadi.sk/d/ytW6fEy3o6vgF
Обновлено: Тема на HTML5Boilerplate и Bootstrap3

Привет всем!
Рад представить сообществу новую тему на HTML5Boilerplate и кастомизированном Bootstrap 3. Так что же в коробке?
Блог Tickets + Minishop2 и система шаблонов
[CurrencyRate] - обновление стоимости по курсу
Готовый магазин на Modx Revo (две версии)
Возможно я поспешу обрадовать тех, кто ждал сборку магазина, но решусь.
Готовы две сборки магазина на базе Shopkeeper3 и tagManager2.
Первая сборка (store-M) — скромная, с одноуровневым каталогом, системой подбора товаров через фильтры, оформлением заказа.
Вторая (store-F) — помощнее, с вложенными категориями.
Готовы две сборки магазина на базе Shopkeeper3 и tagManager2.
Первая сборка (store-M) — скромная, с одноуровневым каталогом, системой подбора товаров через фильтры, оформлением заказа.
Вторая (store-F) — помощнее, с вложенными категориями.
mFilter2 - фильтрация категорий по дочерним товарам
Публикую решение довольно распространённой задачи. Нужно фильтровать товары, но выводить не их, а их категории. Таким образом получается фильтр категорий, но по свойствам их дочерних товаров.
Первым делом нужно разобраться в логике работы mFilter2:
Первым делом нужно разобраться в логике работы mFilter2:
- Фильтр использует для поиска и вывода ресурсов один сниппет, указанный в &elements. В случае работы с товарами там обычно указывается msProducts.
- К этому сниппету будет 2 обращения: предварительная выборка и возврат подходящих id товаров, а затем их вывод пользователю.
- Различить эти два запроса можно по присылаемому параметру returnIds.



