有关dede静态模板类dede:foreach的使用

softyun3年前cms教程56

有关dede静态模板类dede:foreach的使用
刚刚接触织梦dedecms,就从基础看起,希望大家不要见笑,多多鼓励啊 呵呵。
在测试的时候发现静态模板类里面的 。
{dede:foreach array=”数组名”} [field:key/] [field:value/] {/dede:foreach}这本标签总不能正常使用,执行后总是返回 [field:key/] [field:value/] [field:key/] [field:value/] ….n个“[field:key/] [field:value/] ”而不是正在的数据,在网上搜了搜,结果大部分都是转载织梦系统的原装帮助文档里面的资料,没有说明此问题,这里有人也遇到了一样的问题,本来想回复他来,可是我是新人,他所在的版块我无权回复,就发一个新帖了,呵呵,扯远了,书归正传!
为什么会有这样的效果呢,数组名设置后是可以遍历的,而且遍历的次数也是对了,就是数据不能正常显示
肯定是哪里解析错误了,
顺着思路往下找,
最后在include/dedetag.class.php文件中的第578行和579行 版本不一样可能不同,在该文件的AssignSysTag()方法体里面找到了答案!
$istr .= preg_replace(“/\[field:key([\r\n\t\f ]+)\/\]/is”,$k,$this->CTags[$i]->InnerText);
$str .= preg_replace(“/\[field:value([\r\n\t\f ]+)\/\]/is”,$v,$istr);
问题就在正则表达式上,主要是这部分([\r\n\t\f ]+)
说明在 [field:key 与 /] 之间可以包含换行、制表符、空格,但是不能什么都没有,
也就是说 [field:key/]是不对的
必须是
[field:key /] 空格的

[field:key /] 制表符的

[field:key
/] 换行的
这样就解决问题了,我测试是可以的。
=============================
希望对需要的人可以解决问题!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

DedeCms开启多站点支持的简明教程

这里假设条件为:E:\web 为 2500875E:\WEB\test 为 test.2500875开启多站点支持参数建顶级栏目建顶级栏目建子栏目:由于3.1版增加了{cmspath}这变...

DEDECMS,RSS的描述全文内容输出

原来生成的xml只是包含了文章的摘要,没有原文.用来做feed一点吸引力都没有.当然有了具体内容也可以为别人提供咨讯,如百度新闻,GG等.以前我用风讯的时候为阿里巴巴提供过,但后来转DEDE后,一直没...

没内容时隐藏“来源”或者“作者”

{dede:field name='source' runphp='yes'}if(@me == "") @me = "";else @me = "来 源:".@me;{/dede:field}{de...

DedeCms教程:Windows Server 2012 搭建PHP+MySQL环境安装DedeCMS系统

随着Windows 8的发布,其服务器版本Windows Server 2012也相继推出,本篇将全面介绍如何在Windows Server 2012搭建安装DedeCMS所需要的PHP+MySQL环...

时区和更新列表无法生成最后一页的解决方法

关于UTF8版本安装后后台显示空白的用户请重新下载最新版本进行安装时区不正常 从其他版本升级到5.1的朋友可能会遇到时区不正常的问题 通常是文档的发布时间多8个小时或者少8个小时 解决方法是修改con...

登陆后直接转跳到首页而不是管理中心解决办法

用Dreamweaver8或者EditPlus打开/member/index_do.php行码388 if(empty($gourl)||eregi("action|_do",$gourl)){389...