Здравствуйте.
Опишу ситуацию. Стоит MODx Evolution 1.0.3. Есть дерево документов:
- Главная
- Оборудование
[list]
[li]Оборудование 1
- Оборудование 2
[/li]
[li]Документы[/li]
[li]Поддержка[/li]
[li]Контакты[/li]
[/list]
Оборудование это раздел, содержащий документы. Поскольку содержимого для страницы Оборудование просто нет, она сделана Веб-ссылкой и ссылается на первый "дочерний" документ. Далее, есть место на странице, где красиво выводится название раздела, в котором мы сейчас находимся, например "Оборудование", на какой из страниц раздела мы бы не присутствовали, мы видим menutitle раздела. Документы и Поддержка, а может и Контакты, также в будущем станут разделами, потому решил реализовать красивый универсальный код, который бы брал этот самый menutitle, не зависимо от того, является ли документ контейнером или нет. Вот собственно код.
<?php
$id=$modx->documentIdentifier;
$par=$modx->getParent($id, 'id, menutitle');
$doc=$modx->getDocument($id, 'menutitle');
if ($par['id'] != '11')
{
echo $par['menutitle'];
} else {
echo $doc['menutitle'];
}
?>
!= ’11’ - Относительно этого момента. 11 - это идентификатор корневого документа (контейнера) в русскоязычной версии сайта. И теперь собственно проблема. Когда документ не есть контейнером, menutitle выводится чудестно, но в случае с разделом Оборудование, контейнер (корневой документ) всех страниц этого раздела имеет тип Веб-ссылка, и этот самый менютайтл не выводится. Не подскажете, может я чего-то не знаю, что делать? То есть, жмем на Оборудование - переходим к Оборудование 1, все корректно, но вышеуказанный код не срабатывает. Спасибо.