2015-03-06 2 views
0

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

<?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. Я думаю, что, возможно, именно по этой причине я вижу пустой вывод.

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

ответ

1

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

Чтобы получить шаблон значение переменной с помощью 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

+0

Спасибо mu ch @okyanet для вашего ответа – aidadev