你有没有发现,搞迅睿CMS建站,最让人头疼的不是模板也不是功能,反而是那些自定义字段。明明后台辛辛苦苦添加了一堆字段,什么产品价格、作者简介、特色标签……到了前台想调用,标签一写,得,页面要么空白要么报错。
很多人卡在这一步,折腾半天只能去翻官方文档,结果那文档写得跟天书似的,看完更懵了。其实说白了,自定义字段的调用,核心就那几招,摸透了,你就能像搭积木一样,随心所欲地调取任何数据。
别再一上来就写代码了,这是最容易踩的坑。你得先弄明白,你要调用的字段,在数据库里到底叫什么名字。
很多人后台添加字段时,名字写的是中文,比如“产品售价”,然后调用时就写 {$product.产品售价},那肯定不灵啊。系统实际存储的字段名,通常是英文或拼音缩写。
正确做法是: 进到后台的“字段管理”或“内容维护”相关模块,找到你添加字段的那个模型(比如文章模型、产品模型),点开字段列表,仔细看“字段名”那一列。那个才是你调用时要用的“真名”,比如可能是 price、jiage 之类的。
搞清楚了字段真名,接下来就是套公式。迅睿CMS里,调用自定义字段,主要就分两种情况。
这是最常用的场景。比如你打开一篇产品文章,要显示它的自定义价格字段。
公式长这样:
{$字段名}
举个栗子,你字段名如果是 price,那在内容页模板(通常是 show.html 之类的)里,直接写:
产品价格:{$price} 元
保存,刷新页面,价格是不是就出来了?简单得让人想哭,之前居然为这个纠结半天。
列表页调用稍微绕一点点,因为数据是一批一批的。你需要用到列表循环标签,然后在循环里调用。
假设你的列表循环是这样的:
{module module=news catid=$catid num=10 order=updatetime}
{$t.title}
{/module}

调用自定义字段的公式就是:
{$t.字段名}
接着上面的例子,如果要在新闻列表里显示一个叫“来源”(字段名是 source)的自定义字段,就这么写:
{module module=news catid=$catid num=10 order=updatetime}
{$t.title}
来源:{$t.source}
{/module}
看明白了吗?核心就是那个 {$t.字段名},$t 就代表了循环里的每一条内容。
道理懂了,一上手还是错?多半是下面这几个原因。
{$data.字段名}。不过,新手建议先别碰附表,把主表玩转再说。理论说再多,不如一段现成代码。我送你几个高频场景的代码块,你改改字段名就能直接往模板里扔。
场景1:产品详情页显示价格和库存
{$title}
市场价:{$price_market} 元
本站价:{$price} 元
库存状态:{if $stock > 0}有货 ({$stock}件){else}暂时缺货{/if}
(假设你的字段名分别是 price_market, price, stock)
场景2:文章列表页显示文章来源和阅读量
{module module=news catid=1 num=5}
{$t.title}
{$t.description}...
{/module}
(这里 hits 和 updatetime 是系统字段,source 是自定义字段)
说到底,自定义字段调用就是个“按图索骥”的活儿。图就是字段真名,骥就是你写的标签语法。这两样对准了,数据自然就出来了。别再被它吓住,你完全可以搞定。下次再遇到调不出来的字段,就按今天说的步骤,先对名字,再套公式,最后清缓存,保准好使。












易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图