Ошибка в плагине Babel после обновления сайта
Добрый день.
Обновил один сайт и после этого при попытке открыть любой ресурс на редактирование получаю ошибку в плагине Babel, который срабатывает при событии OnDocFormPrerender
Ошибка возникает во всех строках, где идет обращение к методу get
Fatal error: Call to a member function get() on a non object
Обновлял и сам Babel, причем как до обновления сайта, так и после, но ошибка сохраняется. Если не обновить ядро, то babel отлично работает.
Может кто сталкивался и уже нашел решение?
Спасибо.
Обновил один сайт и после этого при попытке открыть любой ресурс на редактирование получаю ошибку в плагине Babel, который срабатывает при событии OnDocFormPrerender
Ошибка возникает во всех строках, где идет обращение к методу get
$linkedResources = $babel->getLinkedResources($resource->get('id'));
$contextKeys = $babel->getGroupContextKeys($resource->get('context_key'));
и звучит такFatal error: Call to a member function get() on a non object
Обновлял и сам Babel, причем как до обновления сайта, так и после, но ошибка сохраняется. Если не обновить ядро, то babel отлично работает.
Может кто сталкивался и уже нашел решение?
Спасибо.
Комментарии: 7
Вспомнил, именно с этих сообщений у меня проблемы и начались. Заменял что-то, в духе, как здесь рекомендовали, https://modx.ru/vopros-otvet/info/6152/ пробовал что-то еще.и даже как-то частично помогло. но в итоге после полного переобновления пакетов это не понадобилось.
Извините, помню фрагментарно, потому такое сумбурное объяснение :(
Извините, помню фрагментарно, потому такое сумбурное объяснение :(
Даже удивительно, господа, что на этом портале нет ни одного сообщения об ошибке в Babel после обновления ядра до 2.6.5 в то время как на modx.ru их валом.
Мне помогло вот такое решение
modx.ru/vopros-otvet/info/6126/
Может кому пригодится.
То есть в плагине Babel меняем получение $resources, потому что в нее попадает не объект а массив и как только ниже по коду идет обращение к методу get() то получаем фатальную ошибку.
Мне помогло вот такое решение
modx.ru/vopros-otvet/info/6126/
Может кому пригодится.
То есть в плагине Babel меняем получение $resources, потому что в нее попадает не объект а массив и как только ниже по коду идет обращение к методу get() то получаем фатальную ошибку.
//$resource =& $modx->event->params['resource'];
$resource = $modx->resource;
Потому что babel — это динозавр тяжелый и неудобный, нормальные разработчики его не используют в развивающихся проектах, а там, где используют, врятли вообще кто-то обновляет сайты
Вы правы)
Но есть же не только развивающиеся проекты, а и старенькие.
Вот скажем сайт, который достался мне, сделан около трех лет назад и я думаю, что тогда никакой альтернативы Babel не было.
Но есть же не только развивающиеся проекты, а и старенькие.
Вот скажем сайт, который достался мне, сделан около трех лет назад и я думаю, что тогда никакой альтернативы Babel не было.
Нет, проблем нет, потому что Babel — стабильно работающий компонент.
Часто встречаются сайты в англоговорящих странах с Babel. И надо обновлять. Legacy никто не отменял. Для новых проектов соглашусь — надо подумать, стоит ли.
Англоговорящие страны в плане modx вообще отстали от СНГ, там и getResources встретить можно
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.