Готовые решения
Простой(или нет) способ обновить кеш страницы у клиента.
Столкнулся с такой ситуацией: клиент захотел сделать рескин сайта, я всё переверстал, но штука в том, что все картинки закешированы в браузерах у тех, кто уже был на сайте, и если с файлами стилей или яваскриптом я могу сделать style.css?ver=2 с сылкой на стильник, то все картинки во всех шаблонах и чанках так не обновишь.
Погуглив немного я понял, что можно либо шаманить с возвращаемыми хедерами, либо для всех изображений менять урл. Первый вариант не очень, потому что тогда картинки будут вообще всегда заново грузиться, а нам надо только при их реальном изменении. Возможно есть какой-то трюк с Last-modified, но я до него недогуглился.
Тогда я решил сделать простой плагин на событие OnWebPagePrerender, который бы перехватывал страницу перед отправкой пользователю и просто менял все урлы для картинок:
Погуглив немного я понял, что можно либо шаманить с возвращаемыми хедерами, либо для всех изображений менять урл. Первый вариант не очень, потому что тогда картинки будут вообще всегда заново грузиться, а нам надо только при их реальном изменении. Возможно есть какой-то трюк с Last-modified, но я до него недогуглился.
Тогда я решил сделать простой плагин на событие OnWebPagePrerender, который бы перехватывал страницу перед отправкой пользователю и просто менял все урлы для картинок:
<?php
if ($modx->event->name == 'OnWebPagePrerender') {
$output = &$modx->resource->_output;
$output = str_replace('.png',".png?ver=" . $modx->getOption('assets_version'),$output);
$output = str_replace('.jpg',".jpg?ver=" . $modx->getOption('assets_version'),$output);
} Характиристики 1С + msOptionsPrice2 и др. (CommerceML)
Компании растут, всем требуется больше возможностей от 1С и от сайта. 1С наверно никогда не сможет стать полноценным сайтом, все ровно фронтенд могу настроить только хорошие фронтендщики, кем 1С программисты не являются.

В общем статья для тех кто хотя бы раз синхронизировал 1С и Modx;

В общем статья для тех кто хотя бы раз синхронизировал 1С и Modx;
Автоматический вывод всех свойств категории в mFilter2
Небольшой сниппет обёртка для mFilter2 который автоматически выводит все свойства с возможностью исключать определенные.
Как пользоваться:
- Создаем сниппет, называем его, например: mFilter3
- Создаем категорию (папку, чтобы не было путаницы), называем его, например: Не участвует в фильтрации, запоминаем его ID
- Помещаем все свойства которые не должны участвовать в фильтрации в данную категорию
Программно изменяем значение у пользователей, с условиями
Решил поделиться одним готовым решением. Лично мне, нужно нескольким тысячам юзеров в разных группах, раздать разные значения потраченных денег на покупки (эдакий перенос со старого сайта). Но если кто не понял, то давайте просто представим, что нам нужно изменить некоторые данные у пользователей, которые находятся в определенной группе. Казалось бы все просто. Нам нужно указать id определенной группы, вытащить из неё всех пользователей и изменить им нужные нам данные. Для многих программистов давно работающих с MODX, это дело 5-ти минут. У меня же это заняло около двух часов. В итоге решил, разу уж написал решение, нужно как обычно поделиться, мало ли кому-нибудь, когда-нибудь это понадобится. Ну или вон, Николай спарсит на модкс-клаб (шутка). =)
Пару модификаторов для MODX
Модификатор телефонного номера
К примеру нам нужно вывести телефонный номер в формате: +7 (900) 2000 600 и так чтобы он нажимался как ссылка для запуска на устройствахНо так как плейсхолдер всего один [[++phone]]
Создаем сниппет phone c содержимым
[miniShop2] Как тестировать письма без оформления заказа
Готовый лендинг популярной темы - скупка ноутбуков
Командой маркетплейс ULTRON сделан простенький, но симпатиШный лендинг для тех, кто скупает ноутбуки и компьютеры :)
Практически все сервисные центры и многие айтишники-одиночки скупают технику для ее восстановления с целью дальнейшей перепродажи или на запчасти. Мы столкнулись со спросом и сделали предложение :)
Ничего сложного и необычного, но готовое решение, которое возможно кому-то пригодится.

Практически все сервисные центры и многие айтишники-одиночки скупают технику для ее восстановления с целью дальнейшей перепродажи или на запчасти. Мы столкнулись со спросом и сделали предложение :)
Ничего сложного и необычного, но готовое решение, которое возможно кому-то пригодится.

Украинская транслитерация для Translit / Українська транслітерація для Translit / ukrainska-transliteratsiia-dlia-translit
Основано на правилах отсюда.
Сохраняем в «ukrainian.php», кидаем сюда core/components/translit/model/modx/translit/tables/
MODX-сборка сайта для пекарни, булочной или кондитерской

Bakery — modx сборка, шаблон сайта пекарни, булочной, кондитерской, кафе, службы доставки еды, пиццы и других блюд, готовый интернет-магазин.
Вёрстка адаптивная, используется фреймворк bootstrap3, сайт отлично смотрится на всех мобильных устройствах. Все основное управление контентом (адрес, картинки, иконки, время работы, карты, тексты и т.д.) осуществляется через Панель Управления (конфигурация или допполя).
Функционал магазина работает на расширении minishop2.
Полезные методы xPDOCacheManager
Класс xPDOCacheManager реализует механизм кеширования в MODX. Кеш у нас хранится в файлах, а значит, этот класс может помочь нам в работе с файловой системой.
Чтобы иметь доступ к методам класса xPDOCacheManager, нужно получить экземпляр этого класса. Это делается одной строчкой:
xPDOCacheManager::writeFile
Первый метод поможет нам записывать данные в файл. Работает он очень просто:
Чтобы иметь доступ к методам класса xPDOCacheManager, нужно получить экземпляр этого класса. Это делается одной строчкой:
$cache = $modx->getCacheManager();xPDOCacheManager::writeFile
Первый метод поможет нам записывать данные в файл. Работает он очень просто:
$cache->writeFile(MODX_BASE_PATH . 'filename.txt', 'Текст');
