帝国论坛帝国网站管理系统交流区采集使用交流$navinfor[newstext]无法分页的 【本版专题贴子】  
主题:$navinfor[newstext]无法分页的 [加入收藏夹]   

308750021
用户头衔:秀才

精华贴   :0
发贴数   :101
经验值   :535
注册时间:2015-01-04
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
$navinfor[newstext]无法分页的



         echo $navinfor[newstext]; 代替 [!--newstext--]内容页面无法分页  各位可以帮忙看看吗?




2016-03-06 15:54:29 已设置保密 顶部 回复 引用 报告 编辑 删除

lycool
用户头衔:探花

精华贴   :0
发贴数   :4226
经验值   :10828
注册时间:2008-02-15
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

上面变量是全部内容,要显示每个分页单独内容还是得用[!--newstext--]




2016-03-07 08:09:29 已设置保密 顶部 回复 引用 报告 编辑 删除

308750021
用户头衔:秀才

精华贴   :0
发贴数   :101
经验值   :535
注册时间:2015-01-04
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

$navinfor[newstext];   我用分割可以实现动态页面的 静态的 我取不到内容分页ID!




2016-03-08 00:41:18 已设置保密 顶部 回复 引用 报告 编辑 删除

2010ljd
用户头衔:秀才

精华贴   :0
发贴数   :119
经验值   :495
注册时间:2010-12-07
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

mark一下




2016-04-27 13:49:02 已设置保密 顶部 回复 引用 报告 编辑 删除

jiuhecai
用户头衔:探花

精华贴   :0
发贴数   :3108
经验值   :8921
注册时间:2014-07-02
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

彻底解决的方法:http://www.zhongyf.com/qita/rj/2017-06-08/123599.html



帝国插件 插件定制。帝国临时工。查杀顽固木马。专业解决难题。qq--110102296
2017-06-08 08:54:40 已设置保密 顶部 回复 引用 报告 编辑 删除

jy129056
用户头衔:举人

精华贴   :0
发贴数   :176
经验值   :1199
注册时间:2007-11-02
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

【问题解决】

在帝国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 修改两个地方:

1. 查找$GLOBALS['navinfor']=$add;

修改为 $GLOBALS['navinfor']=&$add;

2.查找function GetInfoNewsBq($classid,$newstemp_r,$ecms_gr,$docheckrep){

修改为 function GetInfoNewsBq($classid,$newstemp_r,&$ecms_gr,$docheckrep){



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

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

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

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

?>
[!--newstext--]

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




2017-06-16 01:43:19 已设置保密 顶部 回复 引用 报告 编辑 删除

jiuhecai
用户头衔:探花

精华贴   :0
发贴数   :3108
经验值   :8921
注册时间:2014-07-02
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

支持6 楼,就是支持自己。

这样方便我们修改内容呢



帝国插件 插件定制。帝国临时工。查杀顽固木马。专业解决难题。qq--110102296
2017-06-26 07:49:04 已设置保密 顶部 回复 引用 报告 编辑 删除

nuhua123
用户头衔:书生

精华贴   :0
发贴数   :6
经验值   :77
注册时间:2017-12-02
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

亲测,6楼的方法的确管用,多谢




2018-05-04 21:59:34 已设置保密 顶部 回复 引用 报告 编辑 删除

许歌
用户头衔:进士

精华贴   :0
发贴数   :1042
经验值   :3012
注册时间:2016-03-22
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]

支持下




2018-05-05 09:36:47 已设置保密 顶部 回复 引用 报告 编辑 删除

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1