请选择 进入手机版 | 继续访问电脑版

吾爱汇站网官方联系方式

工作时间: 周一到周五早上09:00-11:00, 下午03:00-05:00, 晚上20:30-22:30(周六、日休息)
QQ: 211985957  168528823  97147700  53150916 汇聚、帮助、交流   E-Mail: postmaster@5ihz.cn
用户交流QQ群
1群21532443 2群413446685 ←提醒:请勿重复加群,谢谢!(本站提供低价收费技术服务,详情联系在线客服)

[Discuz教程] discuz门户的频道栏目列表页模板修改后不生效的解决方法

[复制链接]
查看2123 | 回复2 | 2018-6-16 08:50:02 | 显示全部楼层 |阅读模式
    门户的频道栏目 列表页模板 修改后不生效。缓存也清空了。只能显示新建的时候选择的模板。换其他的模板都没有用,还是显示以前的。缓存更新了。没有开启HTML,只有伪静态。


   这其实是Discuz系统的一个BUG

   修复方法,修改文件 sourceadmincpadmincp_portalcategory.php  1025行  函数 remakediytemplate添加一句红色的代码!
   代码中只检查数据库中是否存在 目标模板栏目和 模板目录, 不判断我改变了模板名称。
   如果你修改的模板是一个目录下的,始终都不会更新'common_diy_data'数据表。
   以至于你修改不生效! 除非你修改的模板是两个不同的目录的!

   具体原因自己看代码理解。这应该是个BUG!

  1. function remakediytemplate($primaltplname, $targettplname, $diytplname, $olddirectory){
  2.            global $_G;
  3.            if(empty($targettplname)) return false;
  4.            $tpldirectory = '';
  5.             if(strpos($primaltplname, ':') !== false) {
  6.                       list($tpldirectory, $primaltplname) = explode(':', $primaltplname);
  7.            }
  8.            $tpldirectory = ($tpldirectory ? $tpldirectory : $_G['cache']['style_default']['tpldir']);
  9.            $newdiydata = C::t('common_diy_data')->fetch($targettplname, $tpldirectory);
  10.            if($newdiydata) {
  11.                       if($newdiydata['primaltplname'] == $primaltplname) return false;
  12.            }
  13.            $diydata = C::t('common_diy_data')->fetch($targettplname, $olddirectory);
  14.            $diycontent = empty($diydata['diycontent']) ? '' : $diydata['diycontent'];
复制代码


回复

使用道具 举报

﹌ 花瓣雨 | 2018-6-21 22:27:29 | 显示全部楼层
不错 支持下
回复 支持 反对

使用道具 举报

程融雪 | 2018-6-22 17:45:40 | 显示全部楼层
学习下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则