Баг с получением информации о контексте
Всем привет, на днях делал сайт с поддоменами и разными контекстами и заметил одну маленькую
неприятность — нигде в шаблоне нельзя получить такие поля контекста как имя и описание,
а key и rank выводятся без проблем.
Распечатал массив через {$_modx->context|print} и всегда получаю следующее:
Решил попробовать включить объект modx в настройках, думал может проблема в классе $_modx, но данный баг оказался более широким и — {$modx->context->name} или {$modx->context->description}
также не дали результатов.
Та же беда при вызове простейшего сниппета:
Однако если воспользоваться xPDO и получить объект контекста то все поля как положено в наличии
Просто весь сайт завязан на логике смены контекстов и везде использовать получение названия через xPDO как то не прикольно.
неприятность — нигде в шаблоне нельзя получить такие поля контекста как имя и описание,
а key и rank выводятся без проблем.
Распечатал массив через {$_modx->context|print} и всегда получаю следующее:
Array
(
[key] => web
[name] =>
[description] =>
[rank] => 0
)Все поля контекста заполнены, но отсутствуют при выводе.Решил попробовать включить объект modx в настройках, думал может проблема в классе $_modx, но данный баг оказался более широким и — {$modx->context->name} или {$modx->context->description}
также не дали результатов.
Та же беда при вызове простейшего сниппета:
<?php
return $modx->context->key;//работает
return $modx->context->name;//не работает Однако если воспользоваться xPDO и получить объект контекста то все поля как положено в наличии
<?php
$res = $modx->getObject('modContext',['key'=>'web']);
print_r($res->toArray());
Array
(
[key] => web
[name] => Москва
[description] => Москва
[rank] => 0
)Собственно вопрос — где искать проблему в pdoTools или в самом MODX?Просто весь сайт завязан на логике смены контекстов и везде использовать получение названия через xPDO как то не прикольно.
Комментарии: 12
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Можете попробовать в плагине на событие OnMODXInit дописывать в объект необходимые данные контекста.
Не уверен, что потом где-нибудь не всплывет бага. Лучше напишите сниппет для получения данных контекста и используйте его.
Или как вариант: записать в настройки контекста его имя и описание и получать через {$_modx->config.context_name}