什么是“变量组”?
你可以把“变量组”理解成一个“变量集合”或“变量模板”,它本身不存储数据,而是定义了一个包含哪些变量的“结构”。

举个例子,你要做一个“团队成员”的展示,每个成员可能都需要:
- 姓名
- 职位
- 头像
- 简介
你可以创建一个名为 team_member 的变量组,里面包含这4个变量,在后台为每个成员(每篇文章)填写这4个信息,在前台模板中,你就可以通过调用这个变量组,轻松地把所有成员的信息展示出来。
添加变量组的详细步骤
整个过程分为两步:
- 第一步:创建变量组(定义结构)。
- 第二步:在内容模型中关联变量组(让模型使用这个结构)。
第一步:创建变量组
-
登录后台:使用你的管理员账号登录DedeCMS后台。
(图片来源网络,侵删) -
进入菜单:在左侧菜单栏中,找到并点击 【核心】 -> 模型管理】。
-
找到入口模型管理”页面,点击右上角的 【增加变量组】 按钮。
-
填写信息:点击后,会弹出一个表单,你需要填写以下信息:
- 变量组名称:给你的变量组起一个容易识别的名字,
公司简介、产品参数、团队成员等。 - 变量组别名:这是一个唯一的英文或拼音标识,用于在模板中调用,建议使用小写字母和下划线,
company_intro、product_params、team_member。这个别名一旦确定,尽量不要修改。 - 描述:可选,简单描述一下这个变量组的用途,方便日后管理。
- 变量组名称:给你的变量组起一个容易识别的名字,
-
保存:填写完毕后,点击 【保存】 按钮,变量组已经创建成功,但里面还没有任何变量。
(图片来源网络,侵删)
第二步:为变量组添加变量
创建完变量组后,你需要向其中添加具体的变量项。
-
进入变量列表:回到 【核心】 -> 【内容模型管理】 页面,你会看到刚才创建的变量组已经出现在列表里,点击该变量组名称或右侧的 【管理字段】。
-
添加新字段:进入字段管理页面后,点击右上角的 【增加字段】 按钮。
-
配置字段属性:这是最关键的一步,你需要为每个变量设置详细的属性,我们以添加一个“姓名”字段为例:
- 字段名称:字段的显示名称,如
姓名。 - 字段标识:在模板中调用时使用的唯一标识,如
name。同样,建议使用英文,且与变量组别名风格一致。 - 数据类型:选择字段的类型,常用类型有:
文本:用于短文本,如姓名、职位。文本区域:用于长文本,如个人简介。单选:用于几个固定选项,如性别(男/女)。多选:用于多个固定选项,如技能(PHP/Java/Python)。图片:用于上传图片,如头像、产品图。数字:用于数字,如价格、数量。时间:用于日期时间。
- 默认值:可选,设置一个默认值。
- 提示信息:在前台表单中,该字段下方会显示的提示文字。
- 是否显示:选择“是”,则该字段会在后台编辑文章时显示。
- 是否必填:选择“是”,则该字段为必填项,后台提交时不能为空。
- 其他选项:根据数据类型不同,还会有一些额外选项。
单选类型需要你填写“选项值(用逗号隔开)”,如男,女。
- 字段名称:字段的显示名称,如
-
保存字段:设置好所有属性后,点击 【保存】。
-
重复操作:重复步骤2-4,为你的变量组添加所有需要的字段(如
position,avatar,intro等)。
如何使用变量组?
变量组创建好后,需要将其关联到某个内容模型(文章”模型),然后才能在发布文章时使用它。
模型
-
在 【核心】 -> 【内容模型管理】 页面,找到你想要使用该变量组的模型(通常是“文章”模型),点击其右侧的 【管理字段】。
-
在字段列表中,找到你创建的那个变量组(
团队成员),点击右侧的 号。 -
这样,这个变量组就成功添加到“文章”模型中了。
在后台发布文章时填写
-
进入 【核心】 -> 【所有档案】**,点击“[增加内容]”。
-
在文章编辑页面,向下滚动,你会看到你刚刚添加的变量组(如
团队成员),以及里面定义的所有字段(姓名,职位,头像,简介),现在就可以像填写普通内容一样,填入这些变量的值了。
在前台模板中调用
这是最后一步,也是让数据在前台显示出来的关键,假设你在文章中填写了团队成员的信息,想在文章详情页展示出来。
使用DedeCMS的 arclist 或 list 标签结合变量组调用。
基本语法:
[field:变量组别名/字段标识]
示例:
假设你的变量组别名是 team_member,里面有 name 和 position 两个字段。
{dede:arclist typeid='1' row='5'}
<h3>[field:title/]</h3>
<p>
姓名: [field:team_member/name/]<br>
职位: [field:team_member/position/]
</p>
{/dede:arclist}
更复杂的循环(展示列表中所有成员):
如果变量组是数组形式(比如多选或重复字段),你可能需要用 php 代码来循环输出。
{dede:arclist typeid='1' row='5'}
<h3>[field:title/]</h3>
<ul>
{dede:getdata name='member' function=' stripslashes (@me) '}
{dede:php}
// 假设存储的是JSON格式,需要解码
$members = json_decode($member, true);
if(is_array($members)){
foreach($members as $m){
echo '<li>'.$m['name'].' - '.$m['position'].'</li>';
}
}
{/dede:php}
{/dede:getdata}
</ul>
{/dede:arclist}
重要提示:
对于多行文本、图片等复杂内容,DedeCMS在保存时可能会进行转义或序列化(如JSON格式),直接调用可能无法正确显示,需要使用PHP代码进行反序列化处理,对于简单的文本和单选,直接调用 [field:team_member/name/] 通常就能工作。
总结与最佳实践
- 规划先行:在创建变量组前,先想清楚你要用它来做什么,列出所有需要的字段,避免后期反复修改。
- 命名规范:变量组别名和字段标识都使用英文,并且保持命名风格统一(如都用下划线
snake_case),这能极大地方便你后续的模板开发。 - 从小处着手:如果不确定,可以先从一个简单的变量组开始测试,比如只包含2-3个文本字段,熟悉了流程再处理复杂的图片、多选等。
- 备份:在修改核心文件或进行大量配置前,建议先备份你的网站和数据库。
通过以上步骤,你就可以在DedeCMS中熟练地使用“变量组”功能,让你的网站内容管理更加灵活和强大。
