这3项是官方明确要求但新手最容易忽略的,先按顺序执行:
后台→系统→系统信息,若低于V4.6.9,可下载官方稳定版补丁覆盖升级,补丁地址:https://www.xunruicms.com/download/1.htmlindex.php(后台是admin.php)define('DEBUG', 0);,将0改为1,完整代码段:
// 调试模式
define('DEBUG', 1);
// 记录日志
define('LOG', 1);
template/当前模板目录/config/cms/custom_tags.phpcache/cms/调试模式下提示具体标签名不存在,原因只有3个:标签名拼写错误、系统内置标签禁用、自定义标签未正确注册
后台→系统→系统设置→标签设置,找到对应的标签(比如dr_query查询类、dr_exec执行类默认禁用),勾选后保存config/cms/custom_tags.php添加标签定义,完整可复制示例:

[
'type' => 'function', // 标签类型:function=函数式、template=模板式、model=模型式
'name' => '获取文章标题', // 后台显示名称
'cache' => 0, // 缓存时间(秒),0=不缓存
'function' => 'my_article_title_function', // 关联的函数名
'param' => [
'id' => ['name' => '文章ID', 'type' => 'number', 'required' => 1], // 必传参数
'length' => ['name' => '标题长度', 'type' => 'number', 'default' => 30] // 可选参数
]
]
];
config/cms/custom_tags_functions.php添加标签执行函数:
db->table('module_article_content')->where('id', $id)->first();
if (!$article) return '';
// 截取标题
return mb_substr($article['title'], 0, $length, 'UTF-8');
}
后台→系统→更新缓存→更新标签缓存提示缺少必传参数,或参数类型/格式不符合要求
dir(父栏目目录,根栏目用root),错误写法:{dr_category},正确写法:{dr_category dir=root}{dr_ajax_url module=article id=123}{dr_search module=article keyword="迅睿CMS教程"}{dr_list module=article where=[
"catid" => 1,
"status" => 1
]}
调试模式下提示“语法错误”,原因是模板标签的大括号、闭合标签、PHP短标签混用
{dr_category dir=root}{$t.name},正确写法:{dr_category dir=root}{$t.name}{/dr_category}{dr_category dir=root}{$t.name}
{dr_list module=article catid=$t.id}{$t.title}{/dr_list}
{/dr_category}
正确写法(内层变量名改为$a):
{dr_category dir=root var=t}{$t.name}
{dr_list module=article catid=$t.id var=a}{$a.title}{/dr_list}
{/dr_category}
{php}{/php}包裹,不能用 ?>或= ?>,错误写法:=$title?>,正确写法:{php echo $title;}{/php}index.php和admin.php里的define('DEBUG', 1);改回define('DEBUG', 0);后台→系统→更新缓存→一键更新所有缓存易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图