下面是小编给大家带来关于dedecms添加自定义标签显示非dede表数据,本文共2篇,一起来看看吧,希望对您有所帮助。

篇1:dedecms添加自定义标签显示非dede表数据
需求:调用一个商城系统里面的产品数据到dedecms文章页,希望对需要类似需求的人有所帮助
功能实现:为了不用垮数据库查询,dedecms安装到商城系统数据库里面
下面是实现的代码(请根据自己的环境进行修改)
include/taglib/hongyungoods.lib.php
/**
* @author 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('www.hongyun.com/', ps.`AcStr`, '-view-', p.`ID`, '.html') AS url,
CONCAT('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} {dede:hongyungoods}[field:title/]
{/dede:hongyungoods}篇2:dedecms自定义表单解析DEDE标签方法并共用默认头尾()
dedecms自定义表单解析DEDE标签方法并共用默认头尾模板(原创)
最终效果如图
默认的DEDE,在自定表单页没解析他的标签,如
{dede:include filename=“../default/head.htm”/}
{dede:include filename=“../default/footer.htm”/}
这两个是最常见的,头部和尾部
但我们把他放在自定义表单的模板里,他不解析.....当文本来看待来了
现放出解析办法
打开/plus/diy.php
搜索$postform. = $diy->getForm(true);
先把他下面的include DEDEROOT.“/templets/plus/{$diy->postTemplate}”;
改为:
// include DEDEROOT.“/templets/plus/{$diy->postTemplate}”;
$datalist = new DataListCP();
$datalist->SetParameter('action', 'post');
$datalist->SetParameter('diyid', $diyid);
$datalist->SetTemplate(DEDEINC.“/../templets/plus/{$diy->postTemplate}”);
$datalist->Display();
这个就是在发布信息页面,就有能解析我模板标签了
还有列表页和内容页,方法一样,不多费话了.要学东西就自己再研究下吧.来源:www.yzzmf.com
★codeigniter中view通过循环显示数组数据的方法
★Excel应用教程:Excel数据透视表分类求学生成绩平均值EXCEL基本教程
文档为doc格式