dedecms 添加自定义标签方法

作者:袖梨 2022-06-25

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

/**
 * @author http://www.111com.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}

 

相关文章

精彩推荐