找回密码
 立即注册

QQ登录

只需一步,快速开始

新手应该不清楚如何输出自定义字段的单选和多选其实这个也不难,如果细心的朋友肯定发现,
官方发布的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}









分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册