Проблема с pdoTools 2.10.4
Привет всем! Встал вопрос инициализации переменных при загрузке Фенома. Все сделано как в инструкции и все работало при версии pdoTools 2.10.3. После обновления перестали работать дополнения, написанные при участии шаблонизатора Fenom, в т.ч. pdoResources,pdoMenu и т.д.
Рассказываю детально, что делал:
Пробовал на pdoTools 2.10.3 на тестовом хостинге — все ок, на хостинге с версией 2.10.4 — не работает. Чистил кэш разными способами. Есть варианты решения? Думаю, что это связано с обновлением.
Рассказываю детально, что делал:
function clientConfig(){
global $modx;
if($clientConfig = $modx->getCollection('cgSetting')){
$config = array();
foreach($clientConfig as $vars){
$config[$vars->get('key')] = $vars->get('value');
}
}
return $config;
}
$fenom->addAccessorSmart("site", "data", Fenom::ACCESSOR_PROPERTY);
$fenom->data = [
"field" => clientConfig()
];
Данный код висит на плагине с событием 'pdoToolsOnFenomInit'. Далее в шаблоне, правда в файловом (просто уточнил), вывожу следующим образом {$.site.field.phone}
. Данные выводит, но после когда пытаюсь вывести, что-нибудь через pdoResources или pdoMenu, то в том месте ничего нет, т.е. обрезанный html код. Ошибки не выводит, абсолютно любые.
Поблагодарить автора
Отправить деньги
Комментарии: 9
У меня после обновления тоже проблемы начались — выводит ошибки:
[2017-12-17 12:46:36] (ERROR @ /home/hostxxxxx/sitename.com/htdocs/www/core/model/modx/modconnectorresponse.class.php: 159) PHP warning: Cannot modify header information — headers already sent by (output started at /home/host1587055/kids-kaplya.com/htdocs/www/core/model/modx/modx.class.php:2284)
[2017-12-17 12:46:44] (ERROR @ /home/hostxxxxx/sitename.com/htdocs/www/core/components/pdotools/model/pdotools/pdotools.class.php: 977) Unexpected token ':' in e3512ec55ae9b7b37aa4964c4dea152a line 197, near '{«modUser.id:=»:' < — there
Что делать?
[2017-12-17 12:46:36] (ERROR @ /home/hostxxxxx/sitename.com/htdocs/www/core/model/modx/modconnectorresponse.class.php: 159) PHP warning: Cannot modify header information — headers already sent by (output started at /home/host1587055/kids-kaplya.com/htdocs/www/core/model/modx/modx.class.php:2284)
[2017-12-17 12:46:44] (ERROR @ /home/hostxxxxx/sitename.com/htdocs/www/core/components/pdotools/model/pdotools/pdotools.class.php: 977) Unexpected token ':' in e3512ec55ae9b7b37aa4964c4dea152a line 197, near '{«modUser.id:=»:' < — there
Что делать?
А у меня все страницы сайта стали пустыми после обновы. Тоже много чего перепробовал — бесполезно. Откатил до предыдущей версии — всё работает. Видимо и правда в обновлении дело
во -во — тоже написал об этом вопрос https://modx.pro/help/14121/
а код ошибок журнала не можете выложить?
Честно говоря, пока что откатился и делаю без инициализации переменных.
Решение так и не появилось?
Решением было пропустить функции через условие function_exists. После чего все заработало.
А можно поподробнее как это сделать?
Просто проверить существует уже функция или нет
if (!function_exists('func_name')) {
function func_name() {
...
}
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.