我使用modx,说实话,我是这个CMS的新手。我想在每个页面上显示相应的Template Variable的值。这是我在代码片段中编写的代码:
<?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革命。我想也许这就是我看到空输出的原因。
感谢您的帮助!
答案 0 :(得分: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/developing-in-modx/basic-development/snippets