织梦自定义标签

<?php
if(!defined('DEDEINC'))
{
    exit("Request Error!");
}
function lib_auction(&$ctag,&$refObj)
{
    global $dsql,$envs;
    
    //属性处理 必须填写的几个
    $attlist="row|12,titlelen|24";
    FillAttsDefault($ctag->CAttribute->Items,$attlist);
    extract($ctag->CAttribute->Items, EXTR_SKIP);
    $innertext = trim($ctag->GetInnerText());
    if(trim($innertext)=='') $innertext = GetSysTemplets("part_type_list.htm");
    $revalue = '';

//你需编写的代码,不能用echo之类语法,把最终返回值传给$revalue
    //------------------------------------------------------


    $auction_link;/*获取连接*/
    $auction_title;
    $query = "select * from dede_auction where 1 order by id desc";
    $dsql->SetQuery($query);
    $dsql->Execute();
    $auction_id=array();
    while($return_value=$dsql->GetArray())
    {
        $auction_link=$return_value['link'];
        if(!strstr($auction_link,'#') && strstr($auction_link,'html')){
            $auction_link=str_pad($auction_link,strlen($auction_link)+1,'#');
        }
        /*裁剪字符串*/
        $str_num=substr_count($auction_link,'/');
        $tmp=0;
        for($i=0;$i<$str_num;$i++){
            $tmp=stripos($auction_link,'/',$tmp+1);
        }
        $auction_link=substr($auction_link,$tmp+1);
        $auction_id[]=substr($auction_link,0,strlen($auction_link)-6);
    }

  /*必须填写的解析文档标签*/
    $ctp = new DedeTagParse();
    $ctp->SetNameSpace('field','[',']');
    if(!is_array($ctp->CTags))
    {
        unset($dtp);
        return '';
    }
    else
    {
        /*拼装数据库*/
        foreach ($auction_id as $value){
            $ctp->LoadSource($innertext);
            $sql="select id,typeid,title,pubdate,typeid,click,writer from dede_archives where id={$value}";
            $row=$dsql->GetOne($sql);
     /*只需要填写这段换就可以*/
            foreach($ctp->CTags as $tagid=>$ctag) {
                if(!empty($row[strtolower($ctag->GetName())])) {
                    $ctp->Assign($tagid,$row[$ctag->GetName()]);
                }
            }

            $revalue .= $ctp->GetResult();
        }
        
    }
    //------------------------------------------------------
    return $revalue;
}
?>

 
原文地址:https://www.cnblogs.com/subtract/p/3776491.html