==========================版权信息==========================
作者:特蓝克斯
时间:2006年11月1日
备注:Smilies表情修改小技巧
技术支持网站:http://www.54php.com/bbs/index.php https://discuz.dismall.com/
注:修改之前一定要做好备份.切记^^^^
==========================版权信息==========================
表情是最能代表一个人的心情的一个标志,多数人都喜欢用Smilies表情,DZ默认的表情是QQ表情(自带的),如果你想要去修改表情的一般都会在后台里设置Smilies,添加或修改.DZ默认表情的显示区域很小,在快速回复帖子和发布帖子的地方.
1.默认情况下表情在快速回复和发布帖子的时候是一行显示4个Smilies表情,如果一行想要显示5个6个怎么办?
解决方法:进入系统设置(也就是管理员后台),在基本设置-----其它设置-----每行显示 Smilies 个数:去填写每行显示的表情数5个,6个.
2.如果我想加入自己的定义的表情怎么办?
解决方法:默认Smilies表情i存放在目录下,把想要添加的表情放到该目录下即可,进入后台在帖子管理-----帖子相关-----Smilies 编辑,添加修改个数(在这里可以定义Smilies的表情标签).
3.如果我想更换默认Smilies怎么半?
解决方法:今天在这里主要讲的就是这个环节,首先你可以把你定义好的表情图片和原来的表情图片替换.替换目录的表情文件(**注意了,不要把主题图标给替换了**),这样就可以更换Smilies表情了,当然了有些时候Smilies表情很大,把表格就拉开了,这时默认是4行4列,我们知道,在后台里可以设置每行显示表情的个数,但如果显示列数怎么办呢?
这时我们要修改两个文件,这里我拿我加的表情为例子!
一个是快速回复
在根目录下找到 forumdisplay.php 文件.
找到代码如下(大概在378--384行)
- if($fastpost && $allowpost) {
- $editorid = 'fastpost';
- $smcols = $smcols ? $smcols : 4;
- $smileyinsert = $smileyinsert && is_array($_DCACHE['smilies_display']) ? 1 : 0;
- $smilies = $smileyinsert ? smiliestable($_DCACHE['smilies_display'], $smcols, 4, $editorid) : '';
- $moresmilies = $smileyinsert && count($_DCACHE['smilies_display']) > $smcols * 4 ? 1 : 0;
- }
复制代码
将
- $smilies = $smileyinsert ? smiliestable($_DCACHE['smilies_display'], $smcols, 4, $editorid) : '';
复制代码
修改为:
- $smilies = $smileyinsert ? smiliestable($_DCACHE['smilies_display'], $smcols, 3, $editorid) : '';
复制代码
也就说这里是控制smilies表情的列的参数.
回复帖子:
在根目录下找到 viewthread.php 文件.
找到如下代码(大概在436--442行)
- if($fastpost && $allowpostreply) {
- $editorid = 'fastpost';
- $smcols = $smcols ? $smcols : 4;
- $smileyinsert = $smileyinsert && is_array($_DCACHE['smilies_display']) ? 1 : 0;
- $smilies = $smileyinsert ? smiliestable($_DCACHE['smilies_display'], $smcols, 3, $editorid) : '';
- $moresmilies = $smileyinsert && count($_DCACHE['smilies_display']) > $smcols * 4 ? 1 : 0;
- }
复制代码
修改同上
color=Red]
- $smilies = $smileyinsert ? smiliestable($_DCACHE['smilies_display'], $smcols, 4, $editorid) : '';
复制代码
修改为:
- $smilies = $smileyinsert ? smiliestable($_DCACHE['smilies_display'], $smcols, 3, $editorid) : '';
复制代码
也就说这里是控制smilies表情的列的参数.
这样我们就修改smilies的表情列数,这个具体参数根据您的论坛而顶,看你喜欢一行显示几个smilies表情!
下面我来讲述一下我在修改表情时的过程,供大家参考一下!(因为快速发新话题和回复修改的方法是一样的,在这里拿快速发新话题为例说明)
默认如图:
当然了最简单的方法就是按照默认的smilies的命名方式去覆盖表情图片即可.
如下图:
我们自己定义的smilies表情很大,这样就会串行,然后我就修改了一下
然后我就修改了一下,forumdisplay.php 文件.如上面步骤所说,把默认4列改为3列如图:
不少朋友应该能看到吧,是的,在更多 Smilies ›› 的地方,多出空白的一行,虽然没什么影响,但总体来说还不是很漂亮.不用担心,其实表情上面就有一个Smilies标题,其实我们可以利用一下,把更多 Smilies ›› 放到上面,这时就需要我们修改一下模板文件了.
进入后台:论坛编辑----界面风格----模板编辑----选择模板 里找到forumdisplay模板
如图:
找到更多 Smilies ››标签如下代码,然后将其删除
- <tr>
- <td colspan="$smcols" align="right" class="bold"><br><a href="#" onclick="opensmiliewindow(200, 500);return false">{lang post_smilies_more} ››</a></td>
- </tr>
复制代码
但是一定要记住这个标签,先把它复制到记事本,这个会用上.可不要全给删了袄,一定要做好备份.
- <a href="#" onclick="opensmiliewindow(200, 500);return false">{lang post_smilies_more} ››</a>
复制代码
紧接着找到:这个就是头上的Smilies标题.在全文搜索的时候,按Smilies查询第一个出现的就是这个,在这里说明一下!
- <td width="18%" class="altbg1"><span class="bold" style="margin-left: 10%">Smilies</span></td>
复制代码
然后将上面保留更多 Smilies ››标签复制到这里即可
如下代码:
- <td width="18%" class="altbg1"><span class="bold" style="margin-left: 10%"><a href="#" onclick="opensmiliewindow(200, 500);return false">{lang post_smilies_more} ››</a></span></td>
复制代码
这样我们就改好了,如下图:
改好之后,就去看看效果如何.哈哈
说明一下,快速回复主题改法和上面一样.只是模板不同,如下图.
希望大家会在自己定义的Smilies表情中,找到乐趣.
演示地址:http://www.54php.com/bbs/index.php
欢迎大家来查看效果.如果以上小弟有什么说的不正确的地方,希望大虾米门帮忙指出.下回去研究一下随机显示Smilies表情.
附件为我修改后的模板文件和Smilies表情
[ 本帖最后由 edisonsce 于 2006-11-1 07:35 编辑 ] |