field 支持用 array 获取任意字段的值;(支持标记:文章内容模板的 {dede:field name=’array’ /}、arclist、arclistsg、loop、sql 标签),我们平时常用的就是单独的一个字段,例如[field:title/],[field:arcurl/],但实际上我们还可以说把查询的整个数组提出来,对多个字段进行判断处理。最主要是,很多时候,有些人的 php 标签需要,同时处理两个或以上字段参数的,用这个就相当方便!
实操案例一:有短标题就显示短标题、没有短标题就显示长标题 {dede:field name='array' runphp='yes'} if (@me['shorttitle']=='') @me=@me['title']; else @me=@me['shorttitle']; {/dede:field} 文章页模板内使用。如果是在{dede:list}、{dede:arclist}循环内,则可将
{dede:field name='array' runphp='yes'}..{/dede:field}
写成
[field:array runphp='yes'] .. [/field:array]
扩展案例:赋予样式行为 有短标题为空,没短标题的调用 style='display:none'
{dede:arclist titlelen='45' row='5'} <li [field:array runphp='yes']if(@me['shorttitle']==http://www.dede58.com/a/dedejq/"") @me=http://www.dede58.com/a/dedejq/"style='display:none'";else @me = "";[/field:array]> <a href=http://www.dede58.com/a/dedejq/"[field:arcurl/]" title=http://www.dede58.com/a/dedejq/"[field:title /]">[field:shorttitle/]</a> </li> {/dede:arclist}<li> <img src=http://www.dede58.com/a/dedejq/" X "></li>
为表示方便,X 只是简写,实际上 X 的内容如下:
[field:array runphp='yes'] if (@me['face']=='' && @me['sex']=='女') @me='/member/templets/images/dfgirl.png' ; else if (@me['face']=='' && @me['sex']=='男') @me='/member/templets/images/dfboy.png' ; else @me=@me['face']; [/field:array]