Ту или коммит в modxRevo с предложением добавить новое событие onAfterAutoPublishResource (или типа такого, где можно получить данные тех ресурсов которые были затронуты) или пилить Ядро в ручную, добавив самому туда необходимый код.
P.S.: Я могу нагородить чуши, т.к. не сильно разбираюсь в Ядре MODX, поэтому хотелось бы услышать мнение знающих людей, например Василия, Ивана или Филоофа.
Возможно это можно сделать проще и я ушел совсем не туда.
Ошибки в логах есть? (в логах MODX)
Если 2.5.0 и выше, то вот такой плагин — вернет id ресурсов которые были опубликованы автоматически:
Только я не знаю массив там или что.
В целом использование весты заканчивается добавлением нового сайта или почты или бд.
Всё остальное я делаю в консоли, благо у Весты есть свои команды для этого.
Также на всех сайтах SSL от Let's Encrypt.
В принципе всё устраивает. Естественно сервер с 512 ОЗУ не подойдет, если сайтов больше 5.
Вывод таков — если мало сайтов — юзай консоль. Если больше, то из бесплатных — веста пока самый лучший вариант.
Юзал ISPManager, Plesk, Ajenti и еще кучу всяких разных, которые выглядят в стиле начала 2000 годов.
Мне самому стало интересно как это реализовать, поэтому я порылся в коде MODX и итог моих поисков ниже.
У modx нет стандартного события по отслеживанию подобных ресурсов, есть функция:
autoPublish() которая получает данные этих ресурсов и публикует их. В конце этой функции вызывается событие OnResourceAutoPublish которое просто выводит информацию о количестве обработанных ресурсов.
Ту или коммит в modxRevo с предложением добавить новое событие onAfterAutoPublishResource (или типа такого, где можно получить данные тех ресурсов которые были затронуты) или пилить Ядро в ручную, добавив самому туда необходимый код.
P.S.: Я могу нагородить чуши, т.к. не сильно разбираюсь в Ядре MODX, поэтому хотелось бы услышать мнение знающих людей, например Василия, Ивана или Филоофа.
Возможно это можно сделать проще и я ушел совсем не туда.
Должен выглядеть как то так:
github компонента
Нужно только потестить, что будет с постами при мгновенной публикации.
Я не знаю код mSocial, поэтому вынужден гадать, что же там делает этот плагин у него.
Как я думаю, он просто получает какие то данные ресурса и передает их куда-то.
Так вот, нужно взять этот код по работе с данными ресурса и вставить сюда, В этот плагин, между этими строчками:
Можно даже поменять событие в самом плагине mSocial, только нужно тестить.
Мы же никаких действий не делаем больше, кроме как просто в лог пишем.
Чет я заработался… у ресурсов же pagetitle
Выполни тот же самый код только на событие OnDocPublished
Ну естественно сделав всякие обработчики, что бы это срабатывало только при событии OnResourceAutoPublish