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']=="") @me="style='display:none'";else @me = "";[/field:array]><a href="[field:arcurl/]" title="[field:title /]">[field:shorttitle/]</a></li>{/dede:arclist}
{dede:list pagesize='10'} <dd><a href="[field:arcurl/]">[field:title/]</a></dd> <dt> <div class="left"> [field:array runphp='yes'] if(empty(@me['litpic']) || @me['litpic'] =='/images/defaultpic.gif') @me = ""; else @me = "<a href='{@me['arcurl']}' target="_blank"><img src='{@me['litpic']}' width='200' height='150'/></a>"; [/field:array] </div> <div class="right">[field:infos/]...</div> </dt>{/dede:list}
<li> <img src=" 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]
新闻热点
疑难解答