получить значение переменной шаблона на каждой странице

Я использую modx и, если честно, я новичок в этой CMS. Я хочу показать значение переменной шаблона на каждой странице. Вот мой код, написанный во фрагменте:

<?php
if ( isset($modx->documentObject['PDF-Resource-Url'][1]) && !empty($modx->documentObject['PDF-Resource-Url'][1]) ) {
echo '<li class="related-link slide expanded"><a href="' . $modx->documentObject['PDF-Resource-Url'][1] . '" target="_blank">Pdf</a></li>';
}
?>

Но он возвращает пустой вывод. Я использую последнюю версию Modx Revolution. Я думаю, что, возможно, это причина, почему я вижу пустой вывод.

Спасибо за помощь!

0

Решение

Похоже, вы используете методы из MODX Evolution. Revolution отличается, поэтому было бы неплохо ознакомиться с документацией. Я предоставил несколько ссылок ниже.

Получить значение переменной шаблона с помощью API просто:

$value = $modx->resource->getTVValue('tv-name');

$modx->resource всегда содержит объект для текущего ресурса.

Ваш пример станет:

$output = '';

$url = $modx->resource->getTVValue('PDF-Resource-Url');
if (!empty($url)) {
$output = '<li class="related-link slide expanded"><a href="' . $url . '" target="_blank">Pdf</a></li>';
}

// always return output rather than echoing to page
return $output;

Как получить текущий объект ресурса:
http://rtfm.modx.com/revolution/2.x/making-sites-with-modx/structuring-your-site/resources

Как получить переменные шаблона:
http://rtfm.modx.com/revolution/2.x/making-sites-with-modx/customizing-content/template-variables/accessing-template-variable-values-via-the-api

Базовая разработка фрагмента:
http://rtfm.modx.com/revolution/2.x/developing-in-modx/basic-development/snippets

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]