【www.gdgbn.com--dedecms教程】

dedecms 添加自定义标签方法
include/taglib/hongyungoods.lib.php教程

/**
 * @author http://www.111cn.net/
 */

if(!defined("dedeinc")) exit("request error!");
 
functionlib_hongyungoods(&$ctag, &$refobj)
{
    global$dsql, $envs, $cfg_cmsurl;
 
    //属性处理
    $attlist="row|6,titlelen|0,tid|0";
    fillattsdefault($ctag->cattribute->items,$attlist);
    extract($ctag->cattribute->items, extr_skip);
 
    //只在指定栏目显示
    if($tid>0 && $tid!= $envs["typeid"]) return"";
 
    if( !$dsql->istable("sl_products") ) return"没安装鸿运产品模块";
 
    $innertext= $ctag->getinnertext();
    //@todo hongyungoods.htm
    if(trim($innertext)=="") $innertext= getsystemplets("hongyungoods.htm");
 
    //@todo 智能条件
    $where= 1;
    $limit= 5;
 
    $ctp= newdedetagparse();
    $ctp->setnamespace("field", "[", "]");
    $ret= "";
    $query= "select p.`name` as title,
 concat("http://www.hongyun2000.com/", ps教程.`acstr`, "-view-", p.`id`, ".html") as url,
 concat("http://www.hongyun2000.com/uploadfile/s/", p.`images`) as img
 from `sl_products` as p
 left join `sl_products_sort` as ps on p.`sid` = ps.`id`
 where " . $where . "order by rand() limit " . $limit;
 
    $dsql->execute("me",$query);
  while($rs= $dsql->getarray("me"))
  {
      $rs["title"] = 0 == $titlelen?$rs["title"]:cn_substr($rs["title"], $titlelen);
        $ctp->loadsource($innertext);
      foreach($ctp->ctags as$tagid=>$ctag) {
            if(!empty($rs[strtolower($ctag->getname())])) {
                $ctp->assign($tagid,$rs[$ctag->getname()]);
            }
          }
          $ret.= $ctp->getresult();
  }
 
  return$ret;
}
 
?>

调用页面使用:

{dede:hongyungoods}

   
    [field:title/]

{/dede:hongyungoods}

 

本文来源:http://www.gdgbn.com/wangyezhizuo/29402/