[首页]
[文章]
[教程]
首页
Web开发
Windows开发
编程语言
数据库技术
移动平台
系统服务
微信
设计
布布扣
其他
数据分析
首页
>
其他
> 详细
织梦dedecms自增变量autoindex标签的使用(转)
时间:
2015-08-03 18:51:41
阅读:
262
评论:
0
收藏:
0
[点我收藏+]
织梦dedecms自增变量autoindex标签的使用
例1:
{dede:arclist titlelen=‘120‘ row=‘8‘ typeid=‘2‘}
<li class="li[field:global.autoindex/]"><a href="[field:arcurl /]" title="[field:title/]" target="_blank" >[field:title function=‘cn_substr(@me,10)‘/]</a></li>
{/dede:arclist}
例2:
{dede:arclist row=‘6‘ titlelen=‘60‘ orderby=‘pubdate‘ typeid=‘1‘ idlist=‘‘ channelid=‘1‘}
[field:global name=autoindex/]
[field:global name=autoindex runphp="yes"]@me=@me+5;[/field:global]
[field:global name=autoindex runphp="yes"](@me%2==0)? @me="|":@me="";[/field:global][field:textlink/]
[field:global name=autoindex runphp="yes"](@me!=8)? @me="|":@me="";[/field:global]
意思就是当autoindex等于8时候这个标签为空,否则为“|”。
{/dede:arclist}
在{dede:arclist/}这个标签中大家都知道有个[field:global.autoindex/],这个变 量每生成一行就+1,那很多人希望{dede:sql/}标签也需要加上这个功能,很多朋友提问,肯定会认为官方不会去做,其实不然,官方主要希望大家能 够一同分享这种使用、开发的小技巧,小经验,其实这个东西很简单,自己稍微摸索下就可以知道。
下面 我们就开始增加这个小扩展,我们知道在V5.3中织梦的标签已经分离出来,也就是类似于arclist这样的标签可以自己修改或者二次开发,程序这些标签 存放的目录在/include/taglib文件夹下面,我们可以看那个文件名,就很容易知道这些标签文件名和标签的对应关系。
那我们现在需要修改的是{dede:sql/}这个标签,那我们就修改sql.lib.php这个文件。
打开后我们找到第34行,也就是代码
$ctp->LoadSource($Innertext);
处,在下面加上以下一段代码:
$GLOBALS[‘autoindex‘] = 0;
这段代码就是定义一个全局变量,并赋值为0,接下来我们只需要将下面代码进行下修改:
while($row = $dsql->GetArray($thisrs))
{
$sqlCt++;
foreach($ctp->CTags as $tagid=>$ctag){
if(!empty($row[$ctag->GetName()])){ $ctp->Assign($tagid,$row[$ctag->GetName()]); }
}
$GLOBALS[‘autoindex‘]++; //每循环一次加上一个1然后解析出来
$revalue .= $ctp->GetResult();
}
这样一来,这个[field:global.autoindex/]标签就可以在那个{dede:sql/}中使用了,我们举个例子:
{dede:sql sql=‘select * from[url=mailto:#@__archives]#@__archives‘[/url]}
[field:global.autoindex/]-[field:title/]
{/dede:sql}
怎么样?很简单吧,其实这种扩展还有很多很多,自己可以试试哦。
你这样写就行了:
{dede:global name=‘b‘ runphp=‘yes‘}
ob_start();
extract($GLOBALS, EXTR_SKIP);
//-----------------------
//下面是任意PHP代码
print_r($this->refObj->Fields); //测试调用当前文档类的字段数组(只支持PHP5)
//----------------------
//返回值给标签自身
@me = ob_get_contents();
ob_clean();
{/dede:global}
当然,你想支持这种语法也行,修改一下模板类,载入模板内容时把 替换为
@me = ob_get_contents();
ob_clean();
{/dede:global}
还有一种做法,自定义一个PHP标签
Copy code
织梦dedecms自增变量autoindex标签的使用(转)
原文:http://www.cnblogs.com/zhang36/p/4699997.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年09月23日 (328)
2021年09月24日 (313)
2021年09月17日 (191)
2021年09月15日 (369)
2021年09月16日 (411)
2021年09月13日 (439)
2021年09月11日 (398)
2021年09月12日 (393)
2021年09月10日 (160)
2021年09月08日 (222)
最新文章
更多>
2021/09/28 scripts
2022-05-27
vue自定义全局指令v-emoji限制input输入表情和特殊字符
2022-05-27
9.26学习总结
2022-05-27
vim操作
2022-05-27
深入理解计算机基础 第三章
2022-05-27
C++ string 作为形参与引用传递(转)
2022-05-27
python 加解密
2022-05-27
JavaScript-对象数组里根据id获取name,对象可能有children属性
2022-05-27
SQL语句——保持现有内容在后面增加内容
2022-05-27
virsh命令文档
2022-05-27
教程昨日排行
更多>
1.
list.reverse()
2.
Django Admin 管理工具
3.
AppML 案例模型
4.
HTML 标签列表(功能排序)
5.
HTML 颜色名
6.
HTML 语言代码
7.
jQuery 事件
8.
jEasyUI 创建分割按钮
9.
jEasyUI 创建复杂布局
10.
jEasyUI 创建简单窗口
友情链接
汇智网
PHP教程
插件网
关于我们
-
联系我们
-
留言反馈
- 联系我们:wmxa8@hotmail.com
© 2014
bubuko.com
版权所有
打开技术之扣,分享程序人生!