发表于 2015-12-10 14:41
本次升级涉及到部分默认主题的修改,因此影响到第三方主题的使用,故出此文档,以期让第三方的主题能够方便地升级到2.7.2.
修改1.
源码文件:\Application\Common\View\default\Public\header.html
我们将header中部分不经常会被改动到的内容提取到了_system.html中。所以第三方主题需要移除该被替换部分,换成引入_system文件。
<div id="nav_bar"> …… </div> <include file="Public/_system"/>
修改2.
源码文件:\Application\Common\View\default\Public\header.html
我们在header中加入了对是否开启系统聊天的开关,此处需找到如下代码
<li> <if condition="is_login()"> <a class="" onclick="talker.show()"><i> </i> <i id="friend_has_new" <php> $map_mid=is_login(); $modelTP=D('talk_push'); $has_talk_push=$modelTP->where("(uid = ".$map_mid." and status = 1) or (uid = ".$map_mid." and status = 0)")->count(); $has_message_push=D('talk_message_push')->where("uid= ".$map_mid." and (status=1 or status=0)")->count(); if($has_talk_push || $has_message_push){ </php> style="display: inline-block" <php>}</php> ></i> </a> <else/> <a onclick="toast.error({:L('_PANEL_LIMIT_')})"> <i> </i> </a> </if> </li>
在此代码的外框加上if,判断OPEN_IM这个参数是否为1
<if condition="modC('OPEN_IM',1,'Config')"> </if>
得到结果为
<if condition="modC('OPEN_IM',1,'Config')"> <li> <if condition="is_login()"> <a class="" onclick="talker.show()"><i> </i> <i id="friend_has_new" <php> $map_mid=is_login(); $modelTP=D('talk_push'); $has_talk_push=$modelTP->where("(uid = ".$map_mid." and status = 1) or (uid = ".$map_mid." and status = 0)")->count(); $has_message_push=D('talk_message_push')->where("uid= ".$map_mid." and (status=1 or status=0)")->count(); if($has_talk_push || $has_message_push){ </php> style="display: inline-block" <php>}</php> ></i> </a> <else/> <a onclick="toast.error({:L('_PANEL_LIMIT_')})"> <i> </i> </a> </if> </li> </if>
修改3.
源码文件:\Public\css\core.less
我们将core.less中的一些公共less提取并分离开来,得到如下的目录结构
分离出来的less文件被我们使用import.less进行了统一引入。特别是tool.less(右下角回到顶部的less),adv.less(广告位管理的less),如果您的主题复写了core.css,那么建议通过引用impot.less来统一引入这些less。然后重新生成一次css文件。
代码如下
@import '../../../../Public/css/import.less';
成功兼容则会在右下角出现
如果只是一个框的话,也问题不大,因为路径问题,放到网站根目录即可正常显示。
如果看了本文还有不理解的地方,欢迎跟帖。