插件作者的标准出来了!Manyou诚邀开发者加盟!立即免费下载 Discuz!6.1.0正式版
Discuz! 6.1.0 使用说明
Discuz!NT升级至v2.1
开放源码下载
UCenter Home 1.2 正式版发布
官方站 | 帮助文档
基于ECShop的免费网店托管-卖否
PHP就业培训直通车 | LAMP培训大连
Discuz!收费服务内容及价格
论坛免费升级 手握手
Discuz!/ECShop 专用官方虚拟主机
【乐游-浪漫庄园】专题活动
Comsenz 招聘信息
网店系统ECShop v2.6.0正式版火热发布
基于Discuz!的免费论坛空间5D6D
第二届PHP中国开源发展及人才状况调查
发新话题
打印

[5.5] 5.0风格升级至5.5.0风格方法(附恭贺新禧5.5.0风格)

5.0风格升级至5.5.0风格方法(附恭贺新禧5.5.0风格)

随着Discuz!5.5.0的发布,由于更多新功能的增加,Discuz!的模板机制也有所调整,下面对Discuz!5.0与Discuz!5.5.0的一些差异做下简单的介绍,方便各位风格制作者对现有风格进行升级,也希望更多新的风格出现。

介于大部分刚接触风格设计的朋友,主要修改header.htm,css.htm,footer.htm这三个模板文件,这里就主要说一下这几个文件和Discuz!5.0的差异。


同时附上恭贺新禧5.5.0风格,供大家对比研究
恭贺新禧5.5.0.rar (147.83 KB)

Discuz!5.0和Discuz!5.5.0的风格模板调整时这几个文件的主要区别如下:

header.htm中

   新的js调用
         为了提高用户体验,简化用户操作,5.5中增加了很多ajax,通过header.htm来加载
复制内容到剪贴板
代码:
<script type="text/javascript" src="include/javascript/ajax.js"></script>
插件判断
复制内容到剪贴板
代码:
<!--{if !empty($plugins['links'])}-->
        <!--{loop $plugins['links'] $module}-->
                    <!--{if !$module['adminid'] || ($module['adminid'] && $adminid > 0 && $module['adminid'] >= $adminid)}-->| $module[url] <!--{/if}-->
        <!--{/loop}-->
<!--{/if}-->
左右分栏的frame判断
复制内容到剪贴板
代码:
<!--{if $_DCACHE['settings']['frameon'] > 0}-->
        <span class="left">
        <script type="text/javascript">
        if(top == self) {
        <!--{if ($_DCACHE['settings']['frameon'] == 2 && !defined('CACHE_FILE') && in_array(CURSCRIPT, array('index', 'forumdisplay', 'viewthread')) && (($_DCOOKIE['frameon'] == 'yes' && $_GET['frameon'] != 'no') || (empty($_DCOOKIE['frameon']) && empty($_GET['frameon']))))}-->
                top.location = 'frame.php?frameon=yes&referer='+escape(self.location);
        <!--{/if}-->
                document.write('<img src="{IMGDIR}/frame_on.gif" border="0" alt="" /> <a href="frame.php?frameon=yes" target="_top">{lang frameon_column}</a>');
        } else {
                document.write('<img src="{IMGDIR}/frame_off.gif" border="0" alt="" /> <a href="frame.php?frameon=no" target="_top">{lang frameon_flat}</a>');
        }
        </script>
        </span>
<!--{/if}-->
Mini-Space链接
复制内容到剪贴板
代码:
<span class="bold"><a href="space.php?uid=$discuz_uid">$discuz_userss</a>: </span> <a href="$link_logout">{lang logout}</a>
div结构简化
        将headder中的多个div进行简化,方便用户调整模板
----------------------------------------------------------------------------------------------------------------

footer.htm中

加强的广告功能
复制内容到剪贴板
代码:
<!--{if !empty($advlist['footerbanner1'])}--><div align="center" style="clear: both; margin-bottom: 5px">$advlist[footerbanner1]</div><!--{/if}-->
<!--{if !empty($advlist['footerbanner2'])}--><div align="center" style="clear: both; margin-bottom: 5px">$advlist[footerbanner2]</div><!--{/if}-->
<!--{if !empty($advlist['footerbanner3'])}--><div align="center" style="clear: both;">$advlist[footerbanner3]</div><!--{/if}--><br>
<!--{if !empty($advlist['float']) || !empty($advlist['couplebanner'])}-->
js调用调整
复制内容到剪贴板
代码:
<script type="text/javascript" src="include/javascript/floatadv.js"></script>
分栏frame判断
复制内容到剪贴板
代码:
<!--{if $_DCACHE['settings']['frameon'] == 2 && in_array(CURSCRIPT, array('index', 'forumdisplay', 'viewthread')) && $_DCOOKIE['frameon'] == 'yes'}-->
<script type="text/javascript" src="include/javascript/iframe.js"></script>
<!--{/if}-->
-------------------------------------------------------------------------------------------------------------------------------------------------------
css.htm中
css.htm模板主要是对原有css进行了优化和分类整理,并补充了一部分新的内容
按功能大致分了以下11部分
/* Global */-------------------------------全局通用
/* Header */-----------------------------页面头部专用(header.htm)
/* Footer */------------------------------页脚专用(footer.htm)
/* Multi Page */-------------------------页码、翻页部分专用
/* Popup Menu */----------------------弹出菜单
/* Popup Calendar */------------------弹出日历选择
/* Index */-------------------------------首页专用(discuz.htm)
/* New Special Menu */--------------特殊帖子专用
/* Forumdisplay */----------------------帖子列表页专用
/* Viewthread */-----------------------显示帖子页专用
/* Frame */------------------------------分栏控制专用


新增加的式样表有
复制内容到剪贴板
代码:
.msgbody {
        overflow: hidden;
        width: auto !important;
        width: 100%;
}-----------------[code] [free] [quote] 里面用的内容体


.autosave {
        behavior: url(#default#userdata);
}--------------------自动保存帖子信息

#seccode {
        cursor:pointer;
        margin-bottom: 2px;
}----------------------验证码

.leftmenu br {
        line-height: 5px;
}--------------------分栏菜单
.leftmenu {
        line-height: 18px;
}
重新规范命名的有
复制内容到剪贴板
代码:
.calendar_expire, .calendar_expire a:link, .calendar_expire a:visited {
        color: {CALENDAREXPIRE};
}
.calendar_default, .calendar_default a:link, .calendar_default a:visited {
        color: {CALENDARTEXT};
}
.calendar_checked, .calendar_checked a:link, .calendar_checked a:visited {
        color: {CALENDARCHECKED};
}
.calendar_today, .calendar_today a:link, .calendar_today a:visited {
        color: {CALENDARTODAY};
}
.calendar_header td{
        width: 30px;
        height: 20px;
}
[ 本帖最后由 dfox 于 2007-3-13 13:17 编辑 ]
本帖最近评分记录
  • gj315 威望 +1 www.boygj.com 2007-6-4 08:07
  • 寒痕 威望 +1 我很赞同 2007-4-24 13:00
  • 寒痕 金币 +1 我很赞同 2007-4-24 13:00
  • babyq 金币 +1 www.xuexiao.sh.cn 2007-4-21 00:15
对于只是通过header.htm,footer.htm和css.htm来制作模板的朋友来说,你的5.0的风格可以很方便的升级到5.5的风格,只需要将这三个文件两个版本中的差异对比一下,补充完整就可以了,要注意逻辑、循环结构的完整性。按照以往安装风格的方法将5.0的风格安装到5.5的论坛上,(注意:要把“允许导入不同版本 Discuz! 的界面”这个选项选上),然后在模板风格编辑界面方案里把5.5.0风格中所缺少的变量补充完整,再把风格倒出,一套和Discuz!5.0一样的Discuz!5.5.0风格就出来了。

另外,在Discuz!5.5.0中后台的界面风格里增加了两个新功能--模板检查和恢复默认模板,可以方便用户在线对模板进行编辑。
   模板检查功能主要是对新模板和默认模板进行对比,将模板中的模板结构和逻辑、循环进行检测,可以很快的了解到自己的模板哪些地方进行了调整,结构是否有问题。
   恢复默认模板功能,可以将已经进行调整的模板便捷的回复到默认模板。

header.htm和footer.htm

按照上部分所说的,将你原风格代码中的js调用和逻辑循环替换成5.5.0默认模板中的即可.(如果有自定义的,需要自己作下调整)

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
css.htm

css.htm文件的修改也很简单,只需要在你原有的css.htm中把上面提到的几个css补充进去,另外用重新规范命名那段css替换掉下面代码框中原来的就可以了
复制内容到剪贴板
代码:
.expire, .expire a:link, .expire a:visited {
        color: {CALENDAREXPIRE};
}
.default, .default a:link, .default a:visited {
        color: {CALENDARTEXT};
}
.checked, .checked a:link, .checked a:visited {
        color: {CALENDARCHECKED};
}
.today, .today a:link, .today a:visited {
        color: {CALENDARTODAY};
}
剩下的就是按照上面说的,在后台导入、倒出一下就可以了。
Discuz!5.0风格和Discuz!5.5.0风格编辑界面方案里所缺少的变量详细如下

帖子内容大字号设置 {MSGBIGSIZE}:

帖子内容小字号设置 {MSGSMALLSIZE}:


左右分栏导航栏背景图片 {FRAMEBG}:

左右分栏导航栏切换图片 {FRAMESWITCH}:

还需要注意的是5.5.0中下拉菜单的箭头的图片已经设置在风格目录了,
需要把下拉箭头图片和5.5.0中新添加的开启、关闭左右分栏、msn的图片(这些图片可以在defult目录中找到)放到相应的风格目录

如果不考虑左右分栏,Discuz!5.0风格转Discuz!5.5.0到此就OK了(左右分栏功能可以在后台设置是否开启)。

由于Discus!5.5.0开始支持左右分栏,完整风格的还是要考虑到左右分栏的,这部分就需要重新设计制作了。



另,关于大、中、小字号无效问题,Monkeye的指导如下
引用:
[答疑]“大中小”功能设置说明


要开启此功能
需要在后台“风格设置”中设置贴内大号字体和小号字体两种字体即可,默认那2项为空的

如果此项设置不上,可能因为你升级过程中产生错误

升级语句中执行以下SQL

INSERT INTO cdb_stylevars (styleid, variable, substitute) VALUES (1, 'msgbigsize', ''), (1, 'msgsmallsize', '');

非默认风格,自行在风格的下面添加 msgbigsize 和 msgsmallsize 2个变量,这是Discuz! 5.5 新增的
或者将上面的1改为你自己的styleid
另附上Monkeye和下砂 整理的5.5.0升级常见问题解决方法,地址如下:

Discuz!5.5.0升级常见问题整理-----下砂

5.5 相关问题以及修补文件下载---Monkeye

[ 本帖最后由 dfox 于 2007-3-13 13:11 编辑 ]
揭帝揭帝,般羅揭帝,般羅僧揭帝,菩提薩婆诃.
精华!
绝对精华!
点位学习!
受益不浅
谢谢。
我回来了
xuexi

好好学习

谢谢楼主
无忧论坛,欢迎大家光临
www.5ubbs.com
欢迎交换连接
意思说风格升级也不会太麻烦
我回来了
好好学习天天向上哦
左右分栏需要自己重新设计
直接套用官方的就方便多
如果要自己设计就比较困难
改改颜色之类还可以

[ 本帖最后由 开心一生 于 2007-3-12 13:32 编辑 ]
我回来了
发新话题
版块跳转