30
Mar
2017

Discuz!如何实现为版块设定自定义logo,实现不同的版块不同的logo!

操作之前,我们先看看模板文件中(\template\default\common\header.htm)显示logo的位置的代码:

<h2><!--{if !isset($_G['setting']['navlogos'][$mnid])}-->
<a href="{if $_G['setting']['domain']['app']['default']}http://{$_G['setting']['domain']['app']['default']}/{else}./{/if}" title="$_G['setting']['bbname']">{$_G['style']['boardlogo']}</a>
<!--{else}-->
$_G['setting']['navlogos'][$mnid]<!--{/if}--></h2>

此处可以看出,除了在菜单项中自定义了logo之外,页面上的logo都是通过$_G['style']['boardlogo']变量输出;

从此处着手,开始我们的修改:

打开文件

forum.php

在代码

require DISCUZ_ROOT.'./source/module/forum/forum_'.$mod.'.php'; 之前加入

$logolist=array(
	'fid1'=>'版块对应logo地址',
	fid2=>'版块对应logo地址',
);
if($_G['fid']&&isset($logolist[$_G['fid']])){
	$_G['style']['boardlogo']='<img src="'.$logolist[$_G['fid']].'" alt="'.$_G['setting']['bbname'].'" border="0">';
}

说明:

数组$logolist中按版块设置logo地址,其中数组的“键”是fid,数组的“值”是logo地址;

添加好代码之后上传覆盖即可;

以上是通过修改文件的方法实现的版块自定义logo,也可以通过插件的方式来实现,插件传送门:http://addon.discuz.com/?@zqlj_logo.plugin

 

上一篇:没有了 下一篇:Discuz!中最高在线人数更新和存储机制详解以及如何修改最高在线人数

评论列表:

发表评论: