dedecms织梦[field:array runphp='yes'] 标签使用教程方法

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]