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] |
发表评论
评论列表(条)