ElementsInTree сломал Evolution 1.4.6

Как починить плагин

Ставлю Evolution 1.4.6 только из коробки, ничего лишнего. Включаю плагин ElementsInTree - и вся админка рушится с какой-то дурацкой ошибкой.

22.11.2018

И плагин не отключить никак - ошибка же. И даже отключая этот несчастный плагин через базу, все равно ошибка висит, очистка кеша не помогает, все плохо. Что делать?

Соблюдать спокойствие, разумеется. И чинить плагин.

1) Лезем в базу, в таблице modx_site_plugins находим многострадальный плагин ElementsInTree и для него выставляем в столбце disabled значение 1. Ну или выполняем запрос:

UPDATE `lep-tm`.`modx_site_plugins` SET `disabled` = '1' WHERE `modx_site_plugins`.`id` = '4' LIMIT 1 ;

Обратите внимание на кусочек `modx_site_plugins`.`id` = '4' - это у меня id плагина 4, а у вас может быть другое значение, сами подставите нужное.

2) Редактируем файл assets/cache/siteCache.idx.php - был полный, а нам нужен пустой совершенно, главное - не удалять сам файл, а именно очистить содержимое. Файл потом наша Evolution сама снова заполнит как ей надо.

3) Можно попробовать обновить админку - должна заработать нормально, но без плагина, разумеется. Если не заработала - пункт 2 нужно повторить и админку не трогать пока.

4) Лезем в код плагина аж в два места. Сначала в самом плагине в админке (или в базе прям сразу) заменяем строчку 17. Было:

$eit_base_path = str_replace('\\','/',dirname(__FILE__)) . '/';

Нужно:

$eit_base_path = MODX_BASE_PATH.'assets/plugins/elementsintree/';

Ну то есть, красивенький код определения пути мы заменяем на прописывания этого самого пути к файлам плагина почти в лоб. На всякий случай проверьте, такой ли у вас путь - может, в названии буковки прописные закрались.

И ту же операцию проделываем в файле assets/plugins/elementsintree/plugin.elementsintree.php - для полной гармонии. Можно наоборот, это не важно. Если будете копипастить из файла в админку/базу, помните, что <?php надо закомментить конструкцией // - а то снова все сломается, и возвращайся к пункту 2.

5) Теперь финально обновляем админку, включаем плагин, снова обновляем админку, и вот - заработало.

Если хотите сказать мне "Спасибо!", то это можно сделать в группе ВКонтакте.