模板报错:Undefined constant 解决方法
作者 : 影视站长圈
发布时间:2026-06-08
共人阅读
很多站长升级苹果cms最新版后,模板出现致命错误: Undefined constant报错,老版本正常、新版本无法访问,核心原因是:**新版苹果cms对标签语法、引号格式要求极其严格,不能在双引号内再使用双引号,中文/特殊字符必须规范包裹**。
一、报错根本原因
错误写法(老版兼容、新版严格报错):
双引号嵌套双引号 + 中文条件直接写在where内,导致PHP解析为非法常量,触发 Undefined constant 错误。
{maccms:vod num="8" paging="no" type="all" order="desc" by="hits" where="vod_area LIKE '%中国大陆%' OR vod_area LIKE '%国产%'"}二、新版正确修复写法
规则:外层单引号,内层双引号,严格遵守新版语法规范:
{maccms:vod num="8" paging="no" type="all" order="desc" by="hits" where='vod_area LIKE "%中国大陆%" OR vod_area LIKE "%国产%"'}核心修改规则
1、where 整体用 单引号 ' ' 包裹
2、内部条件值用 双引号 " " 包裹
3、禁止双引号嵌套双引号 """"
4、禁止不加引号直接写中文条件
三、通用修复模板(所有标签通用)
只要是 vod、art、actor 等标签出现类似报错,统一按这个格式修改:
{maccms:标签 num="数量" paging="no" type="分类" order="desc" by="排序" where='字段 LIKE "%内容%" OR 字段 LIKE "%内容%"'}四、额外注意事项
1、新版苹果cms不兼容任何不规范引号,老版兼容写法全部需要修正;
2、修改完成后,进入后台 清除系统缓存 + 模板缓存;
3、如果批量报错,可以批量替换模板里的 where 引号格式;
4、条件中包含中文、特殊符号、空格,必须用引号严格包裹。
五、快速排查总结
出现 Undefined constant 错误 = 标签语法不规范
解决方法:where 外层单引号,内层双引号,严格按照新版格式书写,修改后立即恢复正常。
1、本站资源均收集与网络,仅供学习与参考,请勿用于商业用途。
2、禁止恶意使用本站资源从事违法行为,一律用于者承担。
3、本站资源版权均归原作者所有,如需商业,请购买正版。
4、转载或引用本网站内容须注明原网址,并标明本网站网址:www.yszzq.com
2、禁止恶意使用本站资源从事违法行为,一律用于者承担。
3、本站资源版权均归原作者所有,如需商业,请购买正版。
4、转载或引用本网站内容须注明原网址,并标明本网站网址:www.yszzq.com
