制作·修改Discuz!代码

标签:Discuz!, PHP

有时候想发些本站自己的链接,但由于本站有多个域名,只发电信链接,可能导致网通访问很慢。
而Discuz!的url代码不支持相对路径,每次都启用Html代码也很麻烦,而且风险性也大,所以只好自己做了。

实现这个目的有2种方法:

1.新增自己的Discuz!代码:
进入“系统设置”-“帖子”-“Discuz!代码”,填写你要新增的代码名称,如“bbs”,再点“新增”按钮。
之后点右边的“详情”链接,在“替换内容”中填写下面的代码:
<a href="{1}" target="_blank">{1}</a>
提交后回到上一页,选中“可用”,再提交。再去刷新下缓存,你的代码就可用了。
用法:
[bbs]index.php[/bbs]
[bbs]images/logo.gif[/bbs]
但是现在没法设定显示的内容,所以继续添加,代码名称照样设为“bbs”,“替换内容”改为下面的代码:
<a href="{1}" target="_blank">{2}</a>
“参数个数”设为2。
然后你就能这样使用了:
[bbs=index.php]论坛首页[/bbs]
[bbs=images/logo.gif]logo[/bbs]
如果你的论坛是在网站的根目录的一个文件夹下,但想访问根目录,可以写一个“root”代码:
<a href="../../{1}" target="_blank">{1}</a>
这样,你就能用这段代码访问你的主页了(假设是index.html)
[root]index.html[/root]
2个参数的就不说明了,自己仿照上面动手改吧。

如果要显示图像,则创建一个“bbsimg”代码:
<img src="{1}" />
这样,你就能用这段代码显示logo了
[bbsimg]images/logo.gif[/bbsimg]
显示根目录下的图片代码也不说明了,仿照上面改吧。

如果自己还有什么创意的话,也可以添加其他代码。


2.修改已有的Discuz!代码:
有时候不得不使用系统自带的url和img代码(例如一些插件将url写死了,或者权限低的用户无法使用自定义Discuz!代码),于是直接改代码变成唯一方法了。

下面介绍改url代码的方法:
打开论坛的include/discuzcode.func.php文件,搜索“www\.”,一共有2处,都在后面加上“|loc:|bbs:”。
再搜索这段代码:
$url = substr($url, 1);
if(substr(strtolower($url), 0, 4) == 'www.') {
        $url = 'http://'.$url;
}
在下面加上:
elseif(substr(strtolower($url), 0, 4) == 'loc:') {
        $url = '../../'.substr($url, 4);
}
elseif(substr(strtolower($url), 0, 4) == 'bbs:') {
        $url = substr($url, 4);
}
然后你可以用下面的代码了:
[url=/bbs/.]论坛首页[/url]
[url=loc:.]网站首页[/url]

至于img的代码,我懒得去改了,有需要的可以自己动手,也在discuzcode.func.php文件里。

0条评论 你不来一发么↓

    想说点什么呢?