dedecms添加自定义标签显示非dede表数据

5.6更改默认颜色终极教程,附带修改好的CSS表![强烈要求加精]
dedecms添加自定义标签显示非dede表数据


需求:调用一个商城系统里面的产品数据到dedecms文章页,希望对需要类似需求的人有所帮助

功能实现:为了不用垮数据库查询,dedecms安装到商城系统数据库里面

下面是实现的代码(请根据自己的环境进行修改)

include/taglib/hongyungoods.lib.php







/**

* @author http://www.heui.org/

*/

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}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值