位置: IT常识 - 正文

dede织梦模板扩展标签及自定义标签的教程(织梦如何给栏目增加缩略图)

编辑:rootadmin

推荐整理分享dede织梦模板扩展标签及自定义标签的教程(织梦如何给栏目增加缩略图),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:织梦怎么新建页面,织梦用的什么框架,织梦可以放两套模板吗,dede织梦怎么转成zblog,织梦怎么用模板建站,织梦怎么用模板建站,织梦内容页模板修改,织梦内容页模板修改,内容如对您有帮助,希望把文章链接给更多的朋友!

DedeCMS从V5.3开始就支持自己扩展标签,不过许多新人很少用那个东西,简单的介绍下如何编写自己的调用标签。我们需要知道下扩展标签的存放目录及文件名构成,首先,扩展的标签都是存放在/include/taglib这个目录,名称都是以"标签名.lib.php"格式,例如{dede:channel/}标签对应的是channel.lib.php文件。我们可以看一个示例标签:demotag.lib.phpif(!defined('DEDEINC')){exit("Request Error!");}function lib_demotag(&$ctag,&$refObj){global $dsql,$envs;//属性处理$attlist="row|12,titlelen|24";FillAttsDefault($ctag->CAttribute->Items,$attlist);extract($ctag->CAttribute->Items, EXTR_SKIP);$revalue = '';//你需编写的代码,不能用echo之类语法,把最终返回值传给$revalue//------------------------------------------------------$revalue = 'Hello Word!';//------------------------------------------------------return $revalue;}?>我们登录系统后台的[模板]-[全局标签测试]中运行{dede:demotag/},显示如下的结果:,我们会发现标签起作用了,输出了我们的内容。至此我们完成了标签的编写,这里面主要涉及到PHP、MySQL的很多知识,需要有一定相关方面的基础才能够编写标签了,当然这里只是一个简单的标签开发例子,还有许多的东西可以去开发。

dede织梦模板扩展标签及自定义标签的教程(织梦如何给栏目增加缩略图)

这里我们知道,其实标签生成的内容其实是这个函数的一个返回值,这里返回的内容都是字符串,也就是函数return $revalue;中的$revalue需要是经过处理后生成的字符串。$attlist="row|12,titlelen|24";这个是属性列表,这个经过函数处理后会直接生成变量并复制,我们可以测试下,做如下的修改:$revalue = 'Hello Word!';$revalue .="Row:".$row.";TitleLen:".$titlelen;

这样我们可以看到,这个属性已经被创建变量并且赋值了。接下来我们可以再进一步去修改这个标签。比如说我们需要写一个标签专门来查询文章内容页的那个相关文章,功能类似于上面sql标签中的那个sql,只是这里我们将其分装为一个标签。我们可以新建一个标签,例如叫writerarc,那我们就需要创建一个writerarc.lib.php,然后模仿demotag编写函数,注意需要修改为function lib_writerarc(&$ctag,&$refObj)接下来我们就可以编写查询语句及对底层模板处理的相关函数了$revalue = '';$innertext = $ctag->GetInnerText();$ctp = new DedeTagParse();$ctp->SetNameSpace('field', '[', ']');$sql = "SELECT * FROM dede_archives WHERE writer='{$refObj->Fields['writer']}' limit 0, $row";$innertext这个是用来获取标签的底层模板的,$ctp创建用于处理底层模板中的变量,并处理进行替换。我们根据获取的属性编写我们的sql语句,这里我们使用limit 0, $row,这样就可以根据$row来确定查询的内容数目。当然我们可以获取更多的属性以便我们这个标签更强大,例如我们可以增加类似于arclist中的相关属性,并在函数中进行处理,不过这个需要有一定的PHP基础。接下来我们通过执行查询对sql及输出变量进行处理:$dsql->Execute('me',$sql);while($rs = $dsql->GetArray('me')){//根据属性处理查询变量

$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()]);}}

//根据底层模板及查询变量得到处理结果$revalue .= $ctp->GetResult();}这样我们就将查询出来的结果同底层模板中出现的相关变量进行替换,然后生成输出字符串,将所有的字符串信息存储到$revalue中。最后返回这个值return $revalue;整个文件内容如下:if(!defined('DEDEINC')){exit("Request Error!");}function lib_writerarc(&$ctag,&$refObj){global $dsql,$envs;//属性处理$attlist="row|12,titlelen|24";FillAttsDefault($ctag->CAttribute->Items,$attlist);extract($ctag->CAttribute->Items, EXTR_SKIP);$revalue = '';$innertext = $ctag->GetInnerText();$ctp = new DedeTagParse();$ctp->SetNameSpace('field', '[', ']');$sql = "SELECT * FROM dede_archives WHERE writer='{$refObj->Fields['writer']}' limit 0, $row";$dsql->Execute('me',$sql);while($rs = $dsql->GetArray('me')){//根据属性处理查询变量

$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()]);}}

//根据底层模板及查询变量得到处理结果

$revalue .= $ctp->GetResult();}return $revalue;}?>接下来我们来测试我们这个标签,我们修改article_article.htm模板,在里面加入以下的标签代码:{dede:writerarc row='10' titlelen='6'}[field:title/]{/dede:writerarc}

免责

本文链接地址:https://www.jiuchutong.com/zhishi/313352.html 转载请保留说明!

上一篇:织梦dedecms能力之DedeCMS安详配置(织梦如何使用)

下一篇:Philtron: a PHP Proxy for HTTP

  • 苹果13promax电池健康怎么看(苹果13promax电池87值得买吗)

    苹果13promax电池健康怎么看(苹果13promax电池87值得买吗)

  • ipad访问限制密码初始是多少(iPad访问限制密码忘了)

    ipad访问限制密码初始是多少(iPad访问限制密码忘了)

  • 怎么查看别人qq最后一次登录时间(怎么查看别人qq的浏览记录)

    怎么查看别人qq最后一次登录时间(怎么查看别人qq的浏览记录)

  • 微信能弄健康码吗(微信弄健康码怎么弄)

    微信能弄健康码吗(微信弄健康码怎么弄)

  • 安卓微信黑色主题怎么取消(安卓微信黑色主题下载)

    安卓微信黑色主题怎么取消(安卓微信黑色主题下载)

  • 苹果录屏横屏变成直屏怎么办(苹果屏幕录制横屏)

    苹果录屏横屏变成直屏怎么办(苹果屏幕录制横屏)

  • 无线网光纤亮红灯怎么回事(无线网光纤亮红灯怎么修复)

    无线网光纤亮红灯怎么回事(无线网光纤亮红灯怎么修复)

  • ipad1416是几代(ipad1416是几代机型)

    ipad1416是几代(ipad1416是几代机型)

  • qq的分享屏幕可以一起看电影吗(qq的分享屏幕可以看到qq以外的界面吗)

    qq的分享屏幕可以一起看电影吗(qq的分享屏幕可以看到qq以外的界面吗)

  • 为什么要先删除后拉黑(为什么要先删除微信好友)

    为什么要先删除后拉黑(为什么要先删除微信好友)

  • 微信查实名显示账户异常(微信查实名显示账号异常)

    微信查实名显示账户异常(微信查实名显示账号异常)

  • 微信里的视频号怎么删除(微信里的视频号怎么弄)

    微信里的视频号怎么删除(微信里的视频号怎么弄)

  • 抖音注销后关注的人还在吗(抖音注销后关注的人看到是什么状态)

    抖音注销后关注的人还在吗(抖音注销后关注的人看到是什么状态)

  • 手机歌曲传到车上播放(手机传歌到车载)

    手机歌曲传到车上播放(手机传歌到车载)

  • iphone9上市时间(iphone上市时间)

    iphone9上市时间(iphone上市时间)

  • 存取最快的存储器是(存取速度最快的存储)

    存取最快的存储器是(存取速度最快的存储)

  • ios编程用什么软件(ios 编程软件)

    ios编程用什么软件(ios 编程软件)

  • 手机壁纸乱换怎么办(手机壁纸咋自己换了)

    手机壁纸乱换怎么办(手机壁纸咋自己换了)

  • matebook 14何时上市

    matebook 14何时上市

  • 手机怎么做电子版照片(手机怎么做电子稿)

    手机怎么做电子版照片(手机怎么做电子稿)

  • 苹果手机闪付功能在哪(苹果手机闪付功能在哪操作)

    苹果手机闪付功能在哪(苹果手机闪付功能在哪操作)

  • 嗨来电锁屏新闻怎么关(手机设置来电秀锁屏老是出现广告怎么办)

    嗨来电锁屏新闻怎么关(手机设置来电秀锁屏老是出现广告怎么办)

  • 苹果xrmax是双卡吗(iphone xr max双卡双待)

    苹果xrmax是双卡吗(iphone xr max双卡双待)

  • github怎么用

    github怎么用

  • windows10有必要分区吗(win10有没有必要分盘)

    windows10有必要分区吗(win10有没有必要分盘)

  • qq怎么改手机型号(qq怎么改手机型号名称)

    qq怎么改手机型号(qq怎么改手机型号名称)

  • 怎样安装win7系统,电脑重装win7系统方法汇总(安装win7的步骤)

    怎样安装win7系统,电脑重装win7系统方法汇总(安装win7的步骤)

  • HashMap详解(hashmap教程)

    HashMap详解(hashmap教程)

  • 增值税发票认证平台进不去什么原因
  • 企业借出去的钱收不回来
  • 网上申报办税
  • 劳务报酬所得计税依据是否含增值税收入
  • 简易征收 抵扣进项
  • 进项税额转出影响城建税吗
  • 差额冲销
  • 已认证发票对方红冲应该怎么做账
  • 其他应收款利息收入会计分录怎么写
  • 进项税额留抵科目
  • 缴纳销项税额要交税吗
  • 企业接收捐赠的会计分录
  • 无形资产减值是否可以转回
  • 摊余成本加还是减
  • 用友如何取消月末结转
  • 暂估入库已结转怎么处理
  • 员工报销油费计入个税吗
  • 地税服务业发票税率多少
  • 个税系统中允许捐赠比例是多少?
  • 无偿赠送不得抵扣吗?
  • 餐饮行业月营业额怎么算
  • 资产负债表中应收账款的计算公式
  • 生产成本和主营业务成本哪个大
  • 个人土地征收款协议模板
  • 利息收入记账凭证格式范本
  • 出口销售收入记账方法有哪些?
  • 连续亏损二年怎么处理
  • 腾讯手游助手qq版本过低
  • 发票登记薄的样式是什么
  • 最终控制方合并报表账面价值
  • 宏病毒感染的文件类型是什么
  • Window7+CentOS 6.5双系统安装图文方法
  • 财务处理程序的方法
  • 一品红怎么养才长得好
  • 下列可以作为企业使命
  • php使用js
  • html5期末大作业智能家具
  • matlab绘图总结
  • 房产税城镇土地使用税税源信息采集
  • 补交当年的增值税
  • 哪些情况进项税不可以抵扣?
  • 税务三方协议怎么重签
  • 水利建设专项收入的税率是多少?
  • 织梦安装步骤
  • 园林绿化企业属于什么行业
  • 月收入一万该怎么说
  • 年化收益率和年利率区别
  • 财务规定保险柜存放现金最多不超过多少
  • 票据贴现无效如何讨要票据款
  • 工资计提少了怎么办
  • 会计可以用收据做账吗
  • 物流公司回扣几个点
  • 为什么需要会计信息
  • 没有期初数据,只要借贷平横,报表是不是就不会不平了?
  • 商业企业批发商是什么
  • MySQL下载安装视频
  • mysql 5.7.18 zip版安装配置方法图文教程(win7)
  • windowsxp注册表在哪
  • win8系统升级
  • 系统升级中怎么办
  • windowxp一直在windowxp界面
  • 进程aissca.exe
  • win8系统打开软件闪退
  • win7桌面图标自动排列怎么取消
  • win7无线无法连接怎么办
  • win7网络连接不显示
  • 开机需要两次
  • opengl入门教程(精)
  • bootstrap怎么用
  • 执行批处理命令
  • excel的最后一列
  • JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
  • python toga
  • android简单项目及代码
  • 从局部变量和全变量区分
  • 没工作个人所得税还用下载吗
  • 钢材出口关税税率是多少
  • 增值税发票选择确认平台查询不到以开出的进项发票?
  • 国家税务总局跨区迁移规定
  • 财务制度备案表单怎么填
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设