您现在的位置是:首页 > CMS教程 > 极致CMS

极致CMS如何输出自定义字段单选和多选?

博主:紫藤心-迷途    浏览次数:1394次

新手应该不清楚如何输出自定义字段的单选和多选其实这个也不难,如果细心的朋友肯定发现,
官方发布的demo里面就已经写了如何输出自定义字段单选多选的内容。

相关函数:get_key_field_select($key=0,$molds=null,$field=null)
$key:选项值,存储在数据库中新增字段的值
$molds:字段所在的模块
$field:字段标识

利用这个函数,可以输出单选多选字段的值,需要注意的是:多选的时候,返回的是数组。(不明白数组的朋友且先不要着急,请继续往下看)

我们先做一个假设,如果我在文章模块(article)里新增了一个单选字段colors(颜色),这个字段的内容有:白色=1,黑色=2,红色=3。录入文章的时候,有选择对应的颜色,那么这些颜色的值存储在数据库中,可能是1,可能2,可能是3。

要如何获取一篇文章颜色字段colors在数据库中存储的值$key?并且输出真实颜色的数据?
这个时候,要分情况讨论:
[单选字段]
1、loop循环
{loop table="article" as="v"}
获取颜色colors的值:{$v['colors']}
模块标识:article
输出真实颜色数据:{fun get_key_field_select($v['colors'],'article','colors')}
{/loop}
2、栏目列表页
{foreach $lists as $v}
获取颜色colors的值:{$v['colors']}
模块标识:article
输出真实颜色数据:{fun get_key_field_select($v['colors'],'article','colors')}
{/foreach}
3、文章详情页
获取颜色colors的值:{$jz['colors']}
模块标识:article
输出真实颜色数据:{fun get_key_field_select($jz['colors'],'article','colors')}

延伸拓展
在详情页,其实可以根据栏目来获取模块标识,如{$type['molds']},那么,详情页也可以写成
{fun get_key_field_select($jz['colors'],$type['molds'],'colors')}

如上,讲解的是文章模块,那如果是商品模块,或者其他模块,其实只需要换了里面的模块标识即可,都一样通用。

多选字段与单选字段输出的区别在于,多选字段返回的是数组,不能直接输出来,需要循环输出:
[多选字段]
1、loop循环
{loop table="article" as="v"}
获取颜色colors的值:{$v['colors']}
模块标识:article
输出真实颜色数据:
{foreach get_key_field_select($v['colors'],'article','colors') as $vv}
输出每个一个已选值:{$vv}
{/foreach}
{/loop}
2、栏目列表页
{foreach $lists as $v}
获取颜色colors的值:{$v['colors']}
模块标识:article
输出真实颜色数据:
{foreach get_key_field_select($v['colors'],'article','colors') as $vv}
输出每个一个已选值:{$vv}
{/foreach}
{/foreach}
3、文章详情页
获取颜色colors的值:{$jz['colors']}
模块标识:article
输出真实颜色数据:
{foreach get_key_field_select($jz['colors'],'article','colors') as $v}
输出每个一个已选值:{$v}
{/foreach}

延伸拓展
在详情页,其实可以根据栏目来获取模块标识,如{$type['molds']},那么,详情页也可以写成
{foreach get_key_field_select($jz['colors'],$type['molds'],'colors') as $v}
输出每个一个已选值:{$v}
{/foreach}===========================
以上就是如何输出单选多选字段的值,那么如何输出单选多选的选项值呢?
这里有统一的方法:
get_field_select($molds=null,$field=null)
$molds:模块标识
$field:自定义字段标识

选项值肯定是返回的数组,那么输出用foreach,假设字段为colors,模块为文章模块article:
{foreach get_field_select('article','colors')}
选项名称:{$v[0]}
选项值:{$v[1]}
{/foreach}

 PS:极致CMS | 免费开源CMS - 快速建站系统 -- 极速建站程序优选【极致CMS】

文章关键词: 自定义字段
分享到: / / /
  • 点击此处扫一扫二维码,直接手机访问此页