【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}