在 DedeCMS 中,{dede:arclist} 标签内部默认只能调用文章相关的字段。如果需要在该标签内部调用全局变量(如网站名称、网站URL等),可以通过以下几种方法来实现:

方法一:使用底层模板的 PHP 语法(推荐)
{dede:arclist} 的底层模板(即标签对内部的代码)支持使用 PHP 语法和 Function 扩展。你可以直接通过 GLOBALS 数组来获取全局变量。
示例代码:
{dede:arclist row='5'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<!-- 在 arclist 内部调用全局变量 cfg_webname -->
<span>网站名称:{dede:php}echo GLOBALS['cfg_webname'];{/dede:php}</span>
</li>
{/dede:arclist}
方法二:使用 runphp 属性
底层模板里的 Field 实现支持使用 runphp='yes' 属性来执行 PHP 逻辑。这种方式适合需要进行简单条件判断或拼接字符串的场景。
示例代码:
{dede:arclist row='5'}
<li>
[field:title/]
<!-- 使用 runphp 拼接全局变量 -->
<span>[field:senddate runphp='yes']
@me = @me . " - " . GLOBALS['cfg_webname'];
[/field:senddate]</span>
</li>
{/dede:arclist}
方法三:使用自定义标签(适合复杂逻辑)
如果你需要调用的全局变量逻辑比较复杂,或者需要在多处复用,建议封装一个自定义标签。
在 data/taglib/ 目录下创建一个 PHP 文件(如 myglobal.lib.php)。
定义以 lib_ 开头的函数(如 lib_myglobal),在函数内部获取全局变量并返回。
在模板中直接使用 {dede:myglobal/} 标签进行调用。