电视猫论坛

DEDE模板中使用php和if判断语句的技巧

已有 726 次阅读2014-2-5 01:53

DEDE模板加了新功能 if判断功能 标签iif和elserun
    增加了变量$str和$str_count $str是最终显示的内容 $str_count是循环显示内容的条数。
    增加了标签iif 和 elserun 满足iif的条件就正常运行 如果不满iif的条件就运行elserun
    如果不满足iif的条件,也没指定elserun就返回空白
    iif和elserun都是正常的php语法.
    {dede:arclist orderby='click' titlelen='30' row='10' iif="$str_count>1" elserun="$str=暂时没有内容"}
    
  • [field:textlink/]

  •     {/dede:arclist}
        运行结果 如果arclist没返回结果就显示 暂时没内容
        <title>{dede:global name='cfg_webname' iif="strlen($str)>10" elserun="$str.='我的网站'"/} 
        运行结果 如果cfg_webname长度大于10就正常显示
        否则就在标题后面增加我的网站
        显示
        更改方法 只更改一个文件就是/dede/include/pub_dedetag.php
        (1)
        搜索
        foreach($GLOBALS[$arr] as $k=>$v){
        更改成
        $GLOBALS['autoindex']=0;
        foreach($GLOBALS[$arr] as $k=>$v){
        $GLOBALS['autoindex']++;
        (2)
        搜索
        $this->CTags[$i]->TagValue = $DedeMeValue;
        }
        在后面加上
        $str = $this->CTags[$i]->TagValue;
        $str_count = $GLOBALS['autoindex'];
        if( $this->CTags[$i]->GetAtt("iif")!="" ){
        if(! eval("return {$this->CTags[$i]->GetAtt('iif')} ;" )){
        if($this->CTags[$i]->GetAtt("elserun")) {
        $this->CTags[$i]->TagValue=eval("return {$this->CTags[$i]->GetAtt('elserun')} ;" );
        }else{
        $this->CTags[$i]->TagValue='';
        }
        }
        }

    路过

    雷人

    握手

    鲜花

    鸡蛋

    评论 (0 个评论)

    facelist

    您需要登录后才可以评论 登录 | 猫友注册

    电视猫MoreTV产品交流论坛|电视猫论坛 ( 沪ICP备11044442号-2
    沪公网安备 31010502000580号 安全联盟

    上海公安反电信网络诈骗中心举报电话:962110(如网民接到该号码电话,请立即接听)

    GMT+8, 2024-5-29 04:18 , Processed in 0.036060 second(s), 21 queries , Gzip On.

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    返回顶部