dedecms 添加自定义标签方法
发布:smiling 来源: PHP粉丝网 添加日期:2015-03-28 17:06:19 浏览: 评论:0
dedecms 添加自定义标签方法,include/taglib/hongyungoods.lib.php:
- <?php
- /**
- * @author http://www.phpfensi.com/
- */
- 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(!emptyempty($rs[strtolower($ctag->getname())])) {
- $ctp->assign($tagid,$rs[$ctag->getname()]);
- }
- }
- $ret.= $ctp->getresult();
- }
- return$ret;
- }
- ?>
调用页面使用:
- {dede:hongyungoods}
- <dd>
- <spanclass="tlink"><ahref="[field:url/]"><imgsrc="[field:img/]"alt="[field:title/]"/></a>
- <ahref="[field:url/]"target="_blank">[field:title/]</a></span>
- </dd>
- {/dede:hongyungoods}
Tags: dedecms标签 dedecms自定义
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)