Phpcms标签系统通过{pc:标签名}语法调用数据,支持content、get等内置标签,并可通过创建my_tags.class.php类文件实现自定义标签,如hot_articles方法,再在模板中用module="my"调用,提升开发效率。

Phpcms 的标签系统是模板开发中非常实用的功能,通过标签可以快速调用内容、栏目、会员等数据。掌握标签的使用和自定义方法,能大幅提升开发效率。
一、Phpcms 常用内置标签调用方法
Phpcms 使用 {pc:标签名 参数} 语法来调用数据,结束用 {/pc}。常见标签如下:
-
content 标签:用于调用文章内容
例如:调用最新10条新闻
{pc:content action="lists" catid="12" num="10" order="id DESC"}{loop $data $r}{$r[title]}{/loop}{/pc} -
get 标签:执行自定义 SQL 查询
{pc:get sql="SELECT * FROM v9_news WHERE status=99" num="5"}{loop $data $v}{$v[title]}{/loop}{/pc} -
block 标签:调用后台“碎片管理”中的静态块
{pc:block pos="index_banner"}{/pc}
标签中的变量通过 {loop} 循环输出,$data 是默认返回的数据数组。
二、自定义标签的创建与调用
当内置标签无法满足需求时,可创建自定义标签。步骤如下:
立即学习“PHP免费学习笔记(深入)”;
系统共有:常规管理,公告管理,新闻管理,产品管理,采购订单管理,留言反馈管理,短信管理,用户管理,管理员管理,在线邮件管理,系统模板管理,图品缩略图及水印管理,Flash幻灯片管理,统计调查管理,系统数据调用管理,自定义扩展管理,语言标签库管理。18个主要功能模块组成。5月10号更新:1、全新双语模式设计开发2、多级动态JS菜单,支持在线添加,修改,删除3、新增单页管理模块,如扩展企业简介,联系方
-
创建标签函数文件
在 phpcms/modules/content/classes/ 目录下新建一个类文件,如 my_tags.class.php,内容示例:
class my_tags {
function __construct() {
$this->db = pc_base::load_model('content_model');
}
// 自定义方法:获取指定分类的热门文章
public function hot_articles($params) {
$catid = intval($params['catid']);
$num = intval($params['num']);
$this->db->set_model(1); // 设置模型ID
$data = $this->db->listinfo("status=99 AND catid=$catid", 'views DESC', 1, $num);
return $data;
}
}
-
在模板中调用自定义标签
使用 pc 标签语法,module 指向模块,action 指向方法名:
{pc:content action="hot_articles" catid="13" num="8" module="my"}{loop $data $r}{$r[title]}{/loop}{/pc}
注意:module="my" 对应的是 my_tags.class.php 中的 "my",系统会自动拼接 _tags.class.php。
三、调试与注意事项
自定义标签出错时,可检查以下几点:
- 类名必须为文件名去掉 _tags.class.php 后的部分,且首字母大写
- 方法必须声明为 public
- 确保缓存已更新(可删除 caches 文件夹下的编译模板)
- SQL 查询中注意表前缀,建议使用模型操作
基本上就这些。掌握标签机制后,你可以灵活扩展 Phpcms 的数据调用能力,不复杂但容易忽略细节。










