中药方大全小图标
您当前的位置:首页 > 其他 > 网站日记

帝国cms在模板中修改字段值

提示: 阅读权限:

阅读需要5000积分。

  来源:jiuhecai  作者:jiuhecai

【问题背景】

$navinfor[newstext]代替[!--newstext--]后无法分页的问题

http://bbs.phome.net/ShowThread?threadid=343207&forumid=32

http://bbs.phome.net/ShowThread?threadid=316126&forumid=13

 

【问题解决】

在帝国cms 的内容模板中,我们有时候希望临时修改字段值。

比如newstext字段,只是想临时修改下,不想修改数据库的原值。

一般的操作方法是:用php代码替换内容模板中的[!--newstext--]标签,例如这样---

<?
//$artilce_body =$navinfor['newstext'];
$artilce_body =stripslashes($navinfor['newstext']);

$navinfor['newstext']= str_ireplace('帮帮我', 'jiuhecai', $artilce_body);

echo  $navinfor['newstext'];
?>
 

目的是达到了,但是如果newstext有分页的话,你就悲剧了。分页掉了!

大神jiuhecai研究了帝国cms 的源代码,给出了解决方法:

针对帝国cms 的源码文件e/class/functions.php 修改两个地方:

此处隐藏265个字。

阅读需要5000积分。

 

修改的原理是,使用数组传地址的方式,加强$navinfor变量和$add(存储的某条信息主附表所有字段值)的联系,使得模板中对字段值的修改能够传回标签。

这样修改后,上述例子这样处理:

<?
//$artilce_body =$navinfor['newstext'];
$artilce_body =stripslashes($navinfor['newstext']);

$navinfor['newstext']= str_ireplace('帮帮我', 'jiuhecai', $artilce_body);

?>
[!--newstext--]

我们依然可以使用newstext标签,分页自然完好,但是标签的值,的确被我们改变了。

 

 

 

 

 

tags: 帝国 字段 模板 修改 cms
返回顶部
推荐资讯
视频:田纪钧讲关节不痛的秘密、膝关节拉筋法
视频:田纪钧讲关节不
白露到了,你还好吗?
白露到了,你还好吗?
尿疗与断食
尿疗与断食
给风疹反复发作女孩的药方(组图)
给风疹反复发作女孩的
相关文章
栏目更新
栏目热门
  1. 帝国cms7.2后台信息列表页批量添加tags
  2. 帝国cms百度主动推送插件支持分页推送
  3. 帝国cms之批量替换字段值
  4. 帝国cms插件大全
  5. 如何禁止内容关键字替换ALT和A标签中的关键
  6. 帝国cms7.2改用百度编辑器
  7. 帝国cms获取当前页的地址
  8. 【帝国cms插件】之三级联动+伪静态
  9. 帝国cms在模板中修改字段值
  10. 帝国cms之tags静态插件