- 在后台添加字段:在模型管理中创建一个新的字段,并设置其为“单选”类型。
- 在前台调用字段:在模板文件中使用相应的标签来调用和显示这个单选项的值。
下面我将为你提供详细的图文步骤和代码示例。
第一步:在后台添加单选项字段
假设我们要给“文章模型”(默认模型ID为1)添加一个名为“文章来源”的单选项字段,选项有“原创”、“转载”、“编译”。
进入模型管理
登录你的织梦后台,依次点击:
【核心】 -> 【内容模型管理】
你会看到系统默认的几个模型,文章”、“图集”等,点击你要修改的模型后面的“字段管理”链接,我们要修改“文章”模型,就点击“文章”后面的“字段管理”。
添加新字段
进入字段管理页面后,点击右上角的“添加新字段”按钮。
配置字段参数
这是最关键的一步,请按照下图和说明仔细填写各个参数:
- 字段名:
source(这是字段在数据库中的名称,只能用英文、数字、下划线,且不能以数字开头,建议使用小写。) - 字段别名:
文章来源(这是在后台显示给管理员看的名称,可以使用中文) - 字段类型: 选择
单选(checkbox/radio) - 字段值:
原创,转载,编译(这里是核心!选项之间用英文逗号 隔开,这个顺序就是前台显示的默认顺序。) - 默认值:
原创(可以设置一个默认选中的选项,也可以留空) - 数据处理: 保持默认即可。
- 显示方式: 选择
radio(表示单选按钮),如果选择checkbox,则变成多选字段。对于单选项,务必选择radio。 - 是否为必填项: 根据需要勾选。
- 前台显示: 勾选此项,表示该字段会在后台发布内容时显示出来。
- 在列表页显示: 勾选此项,表示该字段的内容会显示在内容列表(如首页、栏目页)中。
- 页显示: 勾选此项,表示该字段的内容会显示在文章内容详情页。
- 会员投稿显示: 根据需要设置。
填写完毕后,点击“保存”按钮。
更新缓存
添加完字段后,系统会提示你更新缓存,点击“一键更新系统缓存”并确认,这一步非常重要,否则新添加的字段可能不会在后台显示。
去后台“[内容] -> [发布文章]”里看看,你应该就能在发布文章的表单里看到你刚刚添加的“文章来源”单选框了,发布一篇文章并选择一个来源,然后保存。
第二步:在前台模板中调用字段
字段添加并成功保存内容后,就可以在前台模板中调用它了,织梦提供了两种主要的方式: 这是最简单的情况,直接使用 打开你的文章内容页模板文件(通常位于 在你想显示“文章来源”的位置,添加以下代码: 说明: 进阶:如果想自定义显示样式,比如加上图标或者用不同颜色区分,可以使用 在列表页,通常使用 打开你的列表页模板文件(如 在 说明: 按照以上步骤操作,你就可以成功地在织梦模型中添加并使用单选项字段了,如果在操作中遇到问题,请检查字段名是否正确、是否更新了缓存、模板标签语法是否规范。field 标签和 arclist
页(
article_article.htm)显示field 标签即可。/templets/default/article_article.htm)。<p>文章来源:{field source /}</p>
{field 和 是固定标签格式。source 是你在第一步中设置的“字段名”(不是别名)。if 判断:<p>文章来源:
<span>
{field source runphp='yes'}
@me = (@me == '原创') ? '<span style="color:green;">原创</span>' :
(@me == '转载') ? '<span style="color:blue;">转载</span>' :
'<span style="color:gray;">编译</span>';
{/field}
</span>
</p>
runphp='yes' 表示开启PHP运行。@me 是织梦模板中的特殊变量,代表当前标签的值(在这里就是 source 的值,如 "原创")。在列表页(如首页、栏目页
index.htm, list_article.htm)显示arclist 或 list 标签来循环输出文章,这时需要使用 array 函数来调用自定义字段。/templets/default/index.htm)。{dede:arclist} 标签内,添加 array 属性来指定要调用的字段。{dede:arclist titlelen='30' row='10' orderby='pubdate'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<!-- 在这里调用单选字段 -->
<span>
[field:array runphp='yes']
// 注意:这里的 'source' 是你的字段名
if(@me['source'] == '原创') {
@me = "<span style='color:green;'>原创</span>";
} else if(@me['source'] == '转载') {
@me = "<span style='color:blue;'>转载</span>";
} else {
@me = "<span style='color:gray;'>编译</span>";
}
[/field:array]
</span>
</li>
{/dede:arclist}
array 属性告诉 arclist 标签获取额外的自定义字段。[field:array]...[/field:array] 内部,@me 是一个包含文章所有字段信息的数组,我们可以通过 @me['字段名'] 的方式来获取特定字段的值。runphp 来进行复杂的判断和格式化。
核心 -> 内容模型管理 -> 字段管理 -> 添加新字段。
source (英文)。单选。选项1,选项2,选项3 (英文逗号分隔)。radio。
{field source /}。{dede:arclist} 中使用 [field:array]...[/field:array] 来调用和判断。
