自定义字段

来源:官方· 作者 jizhicms· 139次点击 · 11个月前

基本使用

自定义字段输出需要根据当前的情景来使用变量,不要一味的复制粘贴!

自定义字段默认输出的是数据库存储的内容


假设自定义字段为:test


栏目列表输出

{foreach $lists as $v}
{$v['test']}
{/foreach}

内容页输出

{$jz['test']}
loop方式输出
{loop table="article" as="v"}
{$v['test']}
{/loop}


自定义单选字段

默认输出的内容是数据库存储的,而单选字段存储的可能是一个数字,所以需要其他方式输出 假设自定义单选字段为:test


栏目列表输出

{foreach $lists as $v}
{fun get_key_field_select($v['test'],$v['molds'],'test')}
{/foreach}

内容页输出

{fun get_key_field_select($jz['test'],$jz['molds'],'test')}
loop方式输出
{loop table="article" as="v"}
{fun get_key_field_select($v['test'],$v['molds'],'test')}
{/loop}


自定义多选字段

默认输出的内容是数据库存储的,应该是类似:,1,2, 输出对应的内容需要特殊的方式 假设自定义多选字段为:test 选项如:白色=1,黑色=2,红色=3


栏目列表输出

{foreach $lists as $v}
#用空格分割
{fun implode(' ',get_key_field_select($v['test'],$v['molds'],'test') )}
#用 , 分割
{fun implode(',',get_key_field_select($v['test'],$v['molds'],'test') )}
{/foreach}

内容页输出

{fun implode(',',get_key_field_select($jz['test'],$jz['molds'],'test') )}
loop方式输出
{loop table="article" as="v"}
{fun implode(',',get_key_field_select($v['test'],$v['molds'],'test') )}
{/loop}


自定义图集字段

假设自定义图集字段为 abc

{php $pictures = explode('||',$jz['abc']) /}
{foreach $pictures as $v}
{php $pic = explode("|",$v); /}
图片链接:{$pic[0]}
图片描述:{$pic[1]}  //v1.7.1+新增 
{/foreach}


简写

{foreach explode('||',$jz['abc']) as $v}
{php $pic = explode("|",$v); /}
图片链接:{$pic[0]}
图片描述:{$pic[1]}  //v1.7.1+新增 
{/foreach}


自定义多附件

假设自定义多附件字段为 abc

{php $files = explode('||',$jz['abc']) /}
{foreach $files as $v}
{php $f = explode("|",$v); /}
附件链接:{$f[0]}
附件描述:{$f[1]}  //v1.7.1+新增 
{/foreach}


简写

{foreach explode('||',$jz['abc']) as $v}
{php $pic = explode("|",$v); /}
图片链接:{$pic[0]}
图片描述:{$pic[1]}  //v1.7.1+新增 
{/foreach}


$jz 仅在内容页模板可以使用,其他情况,请根据当前变量处理


自定义多行录入

多行录入是通过 || 进行拼接内容的,只需要拆分 || 就可以输出每一行


假设字段为 abc ,内容页输出每一行

{foreach explode('||',$jz['abc']) as $v}
{php $pic = explode("|",$v); /}
{$v} 
{/foreach}

自定义关联字段

关联字段关联的是那个模型的ID,输出关联的内容需要配置loop进行输出 操作


选择需要关联的模型,如:栏目

选择关联模型需要显示出的字段,如:classname 意思就是当你需要选择栏目的时候,希望看到栏目的什么信息,肯定是栏目名字,不然都不知道选择哪个

一般关联字段的长度都是 11 int类型

前台输出关联的内容


假设关联字段为 abc ,关联模型是:商品,显示字段是:title

{loop table="article" isshow="1" limit="10" as="v"}
关联字段内容:{$v['abc']} 
关联信息:
{loop table="product" id="$v['abc']"  as="vv"}

商品标题:{$vv['title']}
商品缩略图:{$vv['litpic']}
商品链接:{$vv['url']}

{/loop}
{/loop}

多选关联输出

假设关联字段为 abc ,关联模型是:用户,显示字段是:username

{loop table="article" isshow="1" limit="10" as="v"}
关联字段内容:{$v['abc']} 
关联信息:需要先判断是否存在关联,否则可能会报错
{php $gl = trim($v['abc'],',');/}
{if($gl)}
{loop table="member" in="id|$gl"  as="vv"}

用户名:{$vv['username']}
{/loop}
{/if}

{/loop}


批量指定字段输出

一般使用在详情页里面,比如商品参数

<table class="table table-bordered">
    <tbody>
    <tr><th>参数</th><th>值</th></tr>
    {foreach jz_show_fields($jz,'color,lx,hy') as $v}
    <tr><td>{$v['title']}</td><td>{$v['data']}</td></tr>
    {/foreach}
    </tr>
     
    </tbody>
</table>


指定 color , lx , hy 三个参数属性显示


输出单选多选选项

假设abc为自定义的单选字段,且在内容模块(article)中


        <select name="abc" id="abc">
                 {foreach get_field_select('article','abc') as $v}
                     <option value="{$v[1]}">{$v[0]}</option>
             {/foreach}

             </select>



被收藏 0  ∙  0 赞  
加入收藏
0 回复  
善言善语 (您需要 登录 后才能回复 没有账号 ?)

请先登录网站