首先创建自定义标签函数,需以pc_tag_开头命名并返回数据;然后在模板中通过{pc:模块名:函数名 参数}调用;最后注意加载函数文件和清除缓存。

在PHPCMS模板中添加自定义标签可以提升开发灵活性,方便调用特定数据。虽然PHPCMS自带了一些常用标签,但在实际项目中往往需要根据业务需求扩展功能。下面介绍如何在PHPCMS中添加自定义标签,适用于PHPCMS V9版本。
一、了解PHPCMS标签机制
PHPCMS的模板标签本质上是封装好的PHP函数调用,通过{pc:标签名}语法在模板中使用。系统会解析这些标签并执行对应的模块方法。
自定义标签需要在对应模块的functions/global.func.php或单独创建的函数文件中定义,并通过pc_base::load_app_func()加载。
二、创建自定义标签函数
以添加一个获取热门文章的标签为例:
立即学习“PHP免费学习笔记(深入)”;
- 进入/phpcms/functions/目录,打开global.func.php,或在/phpcms/modules/content/functions/下新建mytag.func.php
- 添加函数如下:
function pc_tag_hot_articles($params, $content, &$smarty) {
$catid = intval($params['catid']);
$num = intval($params['num']) ? intval($params['num']) : 10;
$sql = $catid ? "status=99 AND catid=$catid" : "status=99";
$data = get_sql_data("SELECT * FROM v9_news WHERE $sql ORDER BY views DESC LIMIT 0,$num");
return $data;
}
说明:
- 函数名必须以pc_tag_开头
- 参数$params接收标签传入的参数
- 返回值为数组,可在模板中循环输出
三、在模板中调用自定义标签
保存后,在模板文件(如show.html)中使用:
{pc:content:hot_articles catid="12" num="5" order="views DESC"}
{loop $data $val}
{/loop}
{/pc}
标签语法:{pc:模块名:函数名(去掉pc_tag_) 参数列表}
四、注意事项与调试
使用过程中注意以下几点:
- 确保函数命名规范,前缀pc_tag_不能遗漏
- 若函数放在非global.func.php中,需先加载:
pc_base::load_app_func('mytag', 'content'); - 数据库操作建议使用PHPCMS提供的get_sql_data()或模型类
- 开启调试模式查看错误信息,检查缓存是否清除
基本上就这些,只要按照规范定义函数,就能顺利在模板中使用自定义标签。不复杂但容易忽略细节。











