dede修改技巧--常用函数收集

专门收集dede相关的函数,并加上简单的说明。
函数调用基本格式:
[field:content function=”函数名”/]

扩展格式:
{dede:CurUrl runphp=’yes’}
处理语句
{/dede:CurUrl}
我也来说两句 查看全部回复

最新回复

  • netman (2008-4-26 20:02:01)

    清除html标记,函数将内容中包含的html标记清除。
    *** Hidden to visitors ***
    比较适合采集时发现内容中有很多html标签,利用这个函数删除。

    [ 本帖最后由 netman 于 2008-4-26 20:03 编辑 ]
  • netman (2008-4-26 20:04:14)

    返回半角数字的,如果你某个字段信息不希望出现全角数字,可以使用这个函数,例如:
    [field:listnum/]返回的是12234,我希望是半角数字12234,可以这样使用函数:
    *** Hidden to visitors ***
  • netman (2008-4-26 20:08:14)

    想替换掉某个字段两端的标记,比如想替换掉作者两边的<strong></strong>。可使用如下函数:

    *** Hidden to visitors ***
  • netman (2008-4-26 20:27:23)

    想控制现实的缩略图的大小和精度的话,可以采用这个函数和调整这个文件。

    *** Hidden to visitors ***

    大小可以修改\include\inc_channel_unit_functions.php
    里面的 <img src='".$imgsrc."' width=80 align=left>
    其中80就是宽度。
  • netman (2008-4-26 20:34:38)

    {dede:field name='ID' function='MyChannel(1,@me)' /}

    ///
    以下放到 inc_functions.php 中
    //-------------------------------------
    function MyChannel($f,$t)
    {
      if($f==$t) return "class=on";
      else return "";
    }
  • 维护者 (2008-4-27 00:25:43)

    研究一下
  • netman (2008-4-27 19:04:03)

    调用方法:

    [field:id function='GetTotalArc(@me)'/]


    修改inc_functions.php

    下边加

    CODE:

    function GetTotalArc($typeid){
      $dsql = new DedeSql(false);  
                    if(!empty($typeid))  
                    {  
                      $reids = explode(",",$typeid);  
                      $ridnum = count($reids);  
                      if($ridnum>1){  
                              $tpsql = "";  
                        for($i=0;$i<$ridnum;$i++){  
                                      if($tpsql=="") $tpsql .= " And (".TypeGetSunID($reids[$i],$dsql,'');  
                                      else $tpsql .= " Or ".TypeGetSunID($reids[$i],$dsql,'');  
                        }  
                        $tpsql .= ") ";  
                        $orwhere .= $tpsql;  
                        unset($tpsql);  
                      }else{  
                              $orwhere .= " And ".TypeGetSunID($typeid,$dsql,'');  
                      }  
                      unset($reids);  
              }  
      $row = $dsql->GetOne("Select count(ID) as dd From #@__archives where typeid>0 $orwhere");  
      return $row['dd'];  
    }