Для разработчиков
Прокачиваем навык программирования на Fenom
            Информация для разработчиков. Сложность средняя. 
Практически все разработчики MODX используют тот или иной шаблонизатор. Большинство в рунете сделали свой выбор в пользу Fenom. Благодаря Василию конечно. Этот шаблонизатор достаточно простой и лёгкий. И его функционала хватает для решения практически всех своих задач. В этой статье мы посмотрим на него немного под другим углом и попробуем его возможности расширения.
        
        
        
    Практически все разработчики MODX используют тот или иной шаблонизатор. Большинство в рунете сделали свой выбор в пользу Fenom. Благодаря Василию конечно. Этот шаблонизатор достаточно простой и лёгкий. И его функционала хватает для решения практически всех своих задач. В этой статье мы посмотрим на него немного под другим углом и попробуем его возможности расширения.
Использование модификаторов Fenom в PHP
            Заметка коротенькая, но может быть полезной.
Все знают, что мы можем добавлять собственные модификаторы Fenom на событие pdoToolsOnFenomInit. А как быть, если мы хотим потом использовать этот же модификатор не в чанках и шаблонах, а в своих PHP скриптах?
А очень просто:
        
        
        
    Все знают, что мы можем добавлять собственные модификаторы Fenom на событие pdoToolsOnFenomInit. А как быть, если мы хотим потом использовать этот же модификатор не в чанках и шаблонах, а в своих PHP скриптах?
А очень просто:
$pdoTools = $modx->getService('pdoTools');
$string = 'Some very very long string';
if ($truncate = $pdoTools->getFenom()->getModifier('truncate')) {
	$string = $truncate($string, 10);
}
return $string;Как подружить Tickets и TinyMCE
            Разрабатывая свой очередной (аж второй :) ) проект на Modx Revolution столкнулся со странностью поведения сниппета Tickets (tickets-1.6.16-pl ): при создании тикета не появлялась стандартная панелька Modx с кнопками сохранения, отмены и помощи в правом верхнем углу админки. Вот так выглядит админка при создании нового тикета: кнопок нет, полос прокрутки нет.
 
Погуглив я обнаружил, что неодинок в своих проблемах: этот вопрос неоднократно поднимался даже на этом ресурсе. Вариантов решения аж 2 (из комментариев к тем записям):
Но неужели ничего нельзя сделать? Давайте попробуем разобраться под катом.
        
        
        
        
    
Погуглив я обнаружил, что неодинок в своих проблемах: этот вопрос неоднократно поднимался даже на этом ресурсе. Вариантов решения аж 2 (из комментариев к тем записям):
Но неужели ничего нельзя сделать? Давайте попробуем разобраться под катом.
modNodejs - Интеграция Nodejs в MODx
            Всем доброе утро. Сегодня представляю на всеобщее обозрение компонент над которым я потел последние несколько дней.
Заголовок говорит сам за себя, это интеграция Nodejs в MODx.
Так зачем он нужен? Для realtime! Как сказал Николай: «технологии диктуют».
Простейший пример: в minishop2 поступил заказ, а менеджер гуляет по админке\сайту, вот что он увидит:
 
Без перезагрузки страницы и тд, можно выполнить любой js по наступлению эвента.
        
        
        
        
    Заголовок говорит сам за себя, это интеграция Nodejs в MODx.
Так зачем он нужен? Для realtime! Как сказал Николай: «технологии диктуют».
Простейший пример: в minishop2 поступил заказ, а менеджер гуляет по админке\сайту, вот что он увидит:

Без перезагрузки страницы и тд, можно выполнить любой js по наступлению эвента.
Собственные модификаторы Fenom
            Продолжаю разработку новой версии modstore.pro и хочу поделиться простым способом подключения своих модификаторов.
Обычный способ все знают: нужно создать сниппет, который будет принимать переменные $input и $options и вызвать его в чанке вот так:
        
        
        
    Обычный способ все знают: нужно создать сниппет, который будет принимать переменные $input и $options и вызвать его в чанке вот так:
{$variable | snippet}- Сниппеты бывают совсем небольшие и создавать их на каждый чих не хочется
- Вызов сниппета, это всё-таки дополнительная нагрузка
- Лично я уже полностью перешел на файлы, и создавать запись в БД для сниппета, только ради его связи с файлом мне совсем не хочется
Функции хелперы для MODX
Практика резервного копирования на MODX
            С ростом опыта и усложнением работ, все актуальнее становится тема резервного копирования базы данных, особенно при наличии большого объема информации. 
Хочу поделиться своим опытом с начинающими разработчиками, а также почитать советы опытных мастеров.
Мне такая статья очень пригодилась бы на определенном этапе развития.
 
        
        
        
        
    Хочу поделиться своим опытом с начинающими разработчиками, а также почитать советы опытных мастеров.
Мне такая статья очень пригодилась бы на определенном этапе развития.

groupIt - обертка результатов.
            Была задача вывод элементов от pdoResources поделить на группы и обернуть их в div.
Поиск дал приятный результат, я нашел ответ в виде спиппета groupResources(это был обычный велосипед) и переписал его на свой лад.
Пример его работы
        
        
        
    Поиск дал приятный результат, я нашел ответ в виде спиппета groupResources(это был обычный велосипед) и переписал его на свой лад.
Пример его работы
<div class="group">
     ContentA
     ContentB
     ContentC
   </div>
   <div class="group">
     ContentD
     ContentE
   </div>Доступ к странице сайта по id
            Давно работаю с modx, но только сегодня узнал, что достучаться до любой страницы сайта при включенных ЧПУ можно дописав в адресной строке после имени домена ?id=Идентификатор_ресурса. Например, site.ru/?id=5375.
Рад если кому-то пригодится!
        
        
        
    Рад если кому-то пригодится!
Делаем колбеки miniShop2 для всех
            Всем привет! Так как в miniShop2 есть список колбеков для того, чтобы на определённые действия, совершаемые компонентом, можно было повесить свой код и, тем самым, дополнить работу магазина, то многие разработчики дополнений используют их в своём коде. Я уж не говорю о вебмастерах, которые используют этот инструмент для решения определённых нужд в своих сайтах.
Проблема в том, что код одного компонента, использующего, например miniShop2.Callbacks.Order.getcost, пересекается с другим кодом, другого компонента, использующего этот же колбек. Получается конфликт, который я для себя, в своих пакетах, решаю так:
        
        
        
        
    В чём проблема?
В связи с этим получается проблема. Колбеков мало, а желающих воспользоваться ими — много. Я уже не раз сталкивался с тем, что некоторые компоненты из Modstore не могут работать вместе, т.к. используют одни и те же колбеки, на одних и тех же страницах.Проблема в том, что код одного компонента, использующего, например miniShop2.Callbacks.Order.getcost, пересекается с другим кодом, другого компонента, использующего этот же колбек. Получается конфликт, который я для себя, в своих пакетах, решаю так:
 
             
                    
                    
                





