dede自定义标签
在dede安装目录下的include/taglib下创建标签文件,比如mytest.lib.php。(必须以.lib.php为后缀)
<?php if(!defined('DEDEINC')) exit('Request Error!');
//自定义标签名以lib_开头
function lib_mytest(&$ctag,&$refObj) {
//操作数据库的全局对象
global $dsql;
//获取自定义标签的属性值,属性可自定义
$id = $ctag->GetAtt('id');
$sql = "select * from #@__archives where id={$id}";
//设置查询语句
$dsql->SetQuery($sql);
//获取一条结果
$row = $dsql->GetOne();
//获取标签内的文本
$Innertext = trim($ctag->GetInnerText());
$dtp = new DedeTagParse();
$dtp->SetNameSpace('field','[',']');
//加载文本
$dtp->LoadSource($Innertext);
if(!is_array($dtp->CTags)) {
unset($dtp);
return '';
} else {
//循环标签,并赋值
foreach($dtp->CTags as $tagid=>$ctag)
{
if(isset($row[$ctag->GetName()])) $dtp->Assign($tagid,$row[$ctag->GetName()]);
}
//获得最终结果
$revalue = $dtp->GetResult();
unset($dtp);
return $revalue;
}
}
在dede模板文件就可以使用我们自定义的标签mytest了:
{dede:mytest id="1"}
[field:title/]
{/dede:mytest}
dede自定义标签的更多相关文章
- (转) ThinkPHP模板自定义标签使用方法
这篇文章主要介绍了ThinkPHP模板自定义标签使用方法,需要的朋友可以参考下 转之--http://www.jb51.net/article/51584.htm 使用模板标签可以让网站前台开发 ...
- (转)浅谈dedecms模板引擎工作原理及自定义标签
理解织梦模板引擎有什么意义?一方面可以更好地自定义标签.更多在于了解织梦系统,理解模板引擎是理解织梦工作原理的第一步.理解织梦会使我们写php代码时更顺手,同时能学习一些php代码的组织方式. 这似乎 ...
- thinkphp5 taglib自定义标签教程
学着写了一下,终于搞定了,顺便分享一下!taglib是tp框架自定义标签功能,如果你用过cms,肯定见过类似: {dede:arclist typeid='' row='' col='' titlel ...
- 浅谈dedecms模板引擎工作原理及其自定义标签
浅谈dedecms模板引擎工作原理: 理解织梦模板引擎有什么意思? 可以更好地自定义标签.更多在于了解织梦系统,理解模板引擎是理解织梦工作原理的第一步. 理解织梦会使我们写PHP代码是更顺手,同时能学 ...
- [JSP]自定义标签库taglib
自定义标签的步骤 自定义标签的步骤大概有三步: 1.继承javax.servlet.jsp.tagext.*下提供的几个标签类,如Tag.TagSupport.BodyTagSupport.Simpl ...
- [Java] JSP笔记 - 自定义标签
自定义标签的创建步骤: 自定义标签的四大功能: 自定义标签的类结构: 在 1.0 中呢, 可以将 <body-content> 的值设置为 JSP, 2.0中则不允许在自定义标签体中出现j ...
- thinkphp自定义标签库
thinkphp ~ php中 的类, 的成员变量, 本身是没有类型说明的, 那么我怎么知道它的类型呢? 或初始值呢? 通常在类定义中, 如果能给一个初始值的(对于已知简单类型的),最好给一个初始值, ...
- 12 自定义标签/JSTL标签库/web国际化/java web之设计模式和案例
EL应用 自定义一个标签,实现两个字符串的相加 1回顾 1.1servlet生命周期 init(ServletConfig) service ...
- EL函数以及自定义标签的应用
一.EL函数(调用普通类的静态方法) 编写步骤(自定义EL函数的编写步骤即自定义标签的编写步骤): ①编写一个普通的java类,提供一个静态方法,功能自定,例如下: package cn.wzbril ...
随机推荐
- Asynchronous programming with Tornado
Asynchronous programming can be tricky for beginners, therefore I think it’s useful to iron some bas ...
- python写个御剑
前言: 今天师傅叫我,写个python版的御剑.然后我之前也写过 不过不怎么样,这次有新想法. 思路: 御剑:读取御剑配置文件里的所有路径,加上用户要扫描的url.进行批量检测,如果状态码为200并且 ...
- Windows下OpenCV 3.1.0 在 Qt Creator 4.0.2 (Qt 5.7.0 MinGW) 中的开发环境配置
2017-2-23 Update: 修改并添加了部分细节 最近正在学习OpenCV ,为毕业设计做准备.Windows版本的OpenCV都默认提供对VS的支持,其在VS中的配置比较简单,网上也有大批教 ...
- (13/24) css进阶:自动处理css3属性前缀
什么是属性前缀 为了浏览器的兼容性,有时候我们必须加入-webkit,-ms,-o,-moz这些前缀.目的就是让我们写的页面在每个浏览器中都可以顺利运行. 例如: transition: width ...
- 0_Simple__simplePitchLinearTexture
对比设备线性二维数组和 CUDA 二维数组在纹理引用中的效率 ▶ 源代码.分别绑定相同大小的设备线性二维数组和 CUDA 二维数组为纹理引用,做简单的平移操作,重复若干次计算带宽和访问速度. #inc ...
- 模拟Vue之数据驱动1
一.前言 Vue有一核心就是数据驱动(Data Driven),允许我们采用简洁的模板语法来声明式的将数据渲染进DOM,且数据与DOM是绑定在一起的,这样当我们改变Vue实例的数据时,对应的DOM元素 ...
- spring boot 整合案例
github : https://github.com/nbfujx/springBoot-learn-demo
- mysql 5.7新特新
从 MySQL 5.7.8 开始,MySQL 支持原生的 JSON 数据类型. 创建 JSON 类似 varchar,设置 JSON 主要将字段的 type 是 json, 不能设置长度,可以是 NU ...
- maven - 配置强制从指定仓库拉取jar包
从官方maven仓库拉取依赖,会超级慢.可配置settings.xml,强制从私服拉取 <mirrors> <mirror> <id>nexus-releases& ...
- ztree参考
ztree一 ztree二 ztree三