Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

X1.5 X2.0广告的分析以及在排行榜页面的增加页头页尾广告显示

[复制链接]
零风 发表于 2011-4-1 15:25:09 | 显示全部楼层 |阅读模式
本帖最后由 零风 于 2011-4-1 18:26 编辑

*************************************************
** 代码讲解基于版本:Discuz! X 1.5 / 2.0 GBK                              **
*************************************************

我们在设置一个全局的头部和底部广告时,会发现在在排行榜页面是不显示的。

我们简单分析下广告的机制,顺便修改代码,实现在 排行榜页面也可以显示头部和底部的广告。

首先,我们进入后台的 扩展->站点广告 页, 在这里有已经存在的广告形式,这里会看到有一个 自定义广告,

其实我们可以自己添加一些非系统本身自带的广告位广告,比如我们想给某个单独的频道添加一个广告位,就可以在这里添加。

添加完自定义告诉位以后,可以选择 站内 或者 站外调用。

当然在这里单独针对 排行榜页面 也是可以添加一个广告来实现给 排行榜 页面实现页头和页尾的广告。

但是我们要更进一步的分析系统自身的 页头广告 处理模式。
如果我们在后台添加一个系统内置广告时,在代码 /source/admincp/admincp_adv.php 中
会看到这样的一个代码处理:
require_once libfile('adv/'.$type, 'class');
        $advclass = 'adv_'.$type;
        $advclass = new $advclass;
        $advnew = $_G['gp_advnew'];

这实际上说明我们添加的广告是对应着某一个文件中的某一个 类。
所有的这些广告对应着  /source/class/adv/ 下的文件。

页头广告对应着文件 /source/class/adv/adv_headerbanner.php
我们打开这个文件,会看到 一个类
我们关于这个类中的 targets 属性:
var $targets = array('portal', 'home', 'member', 'forum', 'group', 'userapp', 'plugin', 'custom');
这个说明了可以投放的页面,包括门户,空间,注册/登录,论坛,群组,应用,插件,自定义。
我们需要让排行榜也允许添加全局页头广告,实际上就是把排行榜的加到这个 targets 中。
排行榜的页面地址是 : misc.php
所以我们这里把 targets 修改为:
var $targets = array('portal', 'home', 'member', 'forum', 'group', 'userapp', 'plugin', 'misc',  'custom');
因为语言包的关系,我们需要在语言包中添加一个针对misc的文字说明
打开文件 /source/language/lang_admincp.php
搜到
'adv_edit_targets_plugin' => '独立插件',
在这个下面添加
'adv_edit_targets_misc' => '排行榜',
保存即可。

现在去后台添加页头广告可以选择在排行榜显示了。
在页脚显示的方法和这个一样,修改对应的文件既可。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-22 04:16 , Processed in 0.020559 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表