只是思路不是教程
相对DV,DZ也是比较简单的。后台设置简单,适用很容易上手。于是乎新站又启用了6kbbs。
然而zym现在更多的关注6kzz,论坛内bbs的开发(模版和插件)一直情绪低迷,因为没有现成的东西很多初级用户也处于观望的状态。当然我也是初级菜牛(刚刚学习php),正好拿6kbbs试手。随着逐步的了解发现程序与页面分离确实很好进行二次开发。
------------------------------模版------------------------------------------------------------
首先说模版,两部分:一是template/6kbbs中的模版,“zym说不要删除”那就不要删除,因为这里面是核心部分,所有自定制模版也是离不开的。二是template中你自己做的模版,主要文件
config.xml 模版安装使用
css.php 照搬
global.css 自定制模版css样式
index.htm 论坛首页风格
header.htm 论坛全站头部风格
footer.htm 论坛全站底部风格
红色文件是比较关键的,自己制作风格主要修改的文件。建议选用专业的编辑软件,不要用记事本,原因zym说过我就不重复了。只要这个几个文件制作好了大致风格就算完成了,forum view 和 uesr 等其它页面的细节需要在template/6kbbs对应的模版中修改。
另外程序在输出模版的时候有些固定的东西,例如
<title></title>之间的Powered by 6kbbs字样等,这些东西需要在根目录对应模版名称的php文件中修改。前面的事例只是事例,没有教大家修改版权信息的意思。
反正对于我这种初级者来说知道这些自制模版就没有什么问题了,不知道你这么样。
------------------------------插件------------------------------------------------------------
插件在plugins目录中,初次安装没有任何插件,大家可以下载官方的“论坛导读”插件看看,很好用的。而且论坛导读插件给大家提供了一个盒子,可以根据这个东西自己延伸制作插件。但是需要注意的是 bbsguide.js 文件中 showBBSGuide() 没有函数 ,所有初级的 bbsguide.js 就只有一个功能 popwin.showURL('论坛今日导读','http://hzaxyg.org/bbs/plugins/bbsguide/index.php',590,470); 。
我们不能安装每个插件都在页面中插入一个 js 文件吧。所有就只有把 bbsguide.js 的几个地方优化一下:
1、showBBSGuide() 中加几个函数变量,例如 showBBSGuide(a,b,c,d,e)根据自己的情况增加。a 比较重要,因为要判断你执行那个命令,所有是必须的。
2、修改好后,自己分析下面js意思。
function showBBSGuide(a,b,c,d,e) {
if (a==1){popwin.showURL(b,c,d,e);}
else if (a==2){popwin.showURL(b,c,d,e);}
else {popwin.showURL(b,c,d,e);}
}
或者直接 不做a的判断直接
function showBBSGuide(a,b,c,d,e) {
popwin.showURL(a,b,c,d,e);
}
做个
herf=javascript:showhanzhongmap(1,"论坛今日导读",域名/plugins/bbsguide/index.php,590,470);
或者
herf=javascript:showhanzhongmap("论坛今日导读",域名/plugins/bbsguide/index.php,590,470);
汉字“可能”出现乱码,自己加转换附。
3、setCookie,导读这个插件第一次打开都会自动打开,然后写一个Cookies,所以如果不想打开就需要把 if(getCookie("lastreadbbsguide")==""){ 下的 showBBSGuide(); 屏蔽掉,可以改成 //showBBSGuide(); ,也可以更具自己的需要修改。
这样的修改只是针对我论坛的特殊需要,比如 地图 和 单板块导读 而言。不过我觉得zym开发导读的时候就应该把这个考虑到。
------------------------------ubb的简单技巧------------------------------------------------------------
因为你把插件做好了,不做连接又没有办法显示,但是6k的编辑器 javascript:的连接 是过滤的。说个简单的方法大家参考,如我论坛在帖子中插入“查看地图位置”一样。
找到 inc/editor/ubb.php 中 str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $string)); 这里是帖子显示时将 ubb 和过滤字符转换成 html。
前一个组是被替换的 后面 后一个组是替换成的,要插如相应的位置,别胡搞。
解决 <a herf=javascript:showhanzhongmap(a,b,c,d,e); >帖子中用插件连接</a> 不能显示的问题。
把 str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $string)); 修改成 str_replace(array('&', '"', '<', '>'
,'[a','a]','[/a]' ), array('&', '"', '<', '>'
,'<a','>','</a>' ), $string));
发帖子的时候把 <a herf=javascript:showhanzhongmap(a,b,c,d,e); >帖子中用插件连接</a> 变成 [a herf=javascript:showhanzhongmap(a,b,c,d,e); a]帖子中用插件连接[/a] 就好了。
以上只是举一例,希望大家可以反三,踊跃的做模版和插件。