Joomla之门广告招商,PR=5,alexa 排名2万1
English French German Italian Portuguese Russian Spanish

捐款 -> 升级 -> 下载

淘宝捐款升级到高级会员

点击这里给我发消息

Donate to joomlagate.com to translate more Joomla! extensions and free Joomla! templates

下载最新版本 Joomla!

Joomla! CMS - free Joomla! templates
download Joomla! 1.5.15 Chinese version

文章分类阅读

会员登录

 
 
Joomla之门 Joomla教程 Joomla 1.0 教程 三板斧让Joomla!支持flash格式的banner
三板斧让Joomla!支持flash格式的banner E-mail
作者:白建鹏   
2006-12-05

在Joomla的自带组件中有一个com_banner,可以在网页顶部显示banner,也就是我们说的“旗帜广告”。当然,这个位置你可以通过修改模板移动到其他位置,也可以显示公司的标语或者宣传画,但是有一样很遗憾:默认的com_banner不支持flash格式(.swf)的banner!

这岂不是很痛苦!现在不用flash格式的banner几乎就等于说“我不懂网页设计”!尽管在Joomla的扩展库中可以发现有人开发了一些模块来使得在banner位置显示flash格式的动画,但是这种方法未免大材小用了一些。实际上通过对Joomla核心文件的三处修改,就能立即实现在banner上显示flash文件。

 

方法如下:

1、打开 <joomla>/administrator/components/com_banners/admin.banners.html.php 文件。

大约在275行左右,找到如下代码:

if (eregi("swf", $_row->imageurl)) { ?> 

修改为:

 

 if (eregi("swf", $_row->imageurl)) { $imageurl = "../images/banners/".$_row->imageurl; $getflashinfo = @getimagesize( $imageurl ); echo '

';

 

2、打开 <joomla>/modules/mod_banners.php 文件。

在85行左右,找到如下代码:

 } else if (eregi("\.swf$", $banner->imageurl)) { $imageurl = "$mosConfig_live_site/images/banners/".$banner->imageurl; echo " "; }

对这段代码的修改有两种方法。由于在后台的“广告”组件设置中,针对每一个广告发布时都要求填写一个点击后指向的URL,因此,如果你希望点击flash动画后打开后台指定的那个URL,就把上述代码修改为:

 } else if (eregi("\.swf$", $banner->imageurl)) { $imageurl = "$mosConfig_live_site/images/banners/".$banner->imageurl; $link = sefRelToAbs( 'index.php?option=com_banners&task=click&bid='. $banner->bid ); $getflashinfo = @getimagesize( $imageurl ); echo ' '; }

当然了,一般来说,很多flash在制作时本身已经内嵌了点击后要打开的URL,因此如果使用上述代码就会使内嵌的URL失效,那么可以修改为下面的代码来忽略后台指定的URL:

 } else if (eregi("\.swf$", $banner->imageurl)) { $imageurl = "$mosConfig_live_site/images/banners/".$banner->imageurl; $getflashinfo = @getimagesize( $imageurl ); echo ' '; }

3、打开 <joomla>/includes/joomla.php 文件。

在大约 4799 行可以看到下面一段注释以及后面紧跟的 images 函数:

/** * build the select list to choose an image */ function Images

在其下方,找到下面的代码:

 if ( eregi( "bmp|gif|jpg|png", $file ) ) {

将其修改为:

 if ( eregi( "bmp|gif|jpg|png|swf", $file ) ) {

OK,现在搞定了。你可以进入网站后台,看看在“广告”组件(英文版就是 Banners)里面添加新广告时,是不是已经出现了对flash文件的支持?

注意:添加广告之前,别忘记把你要添加的 .swf 文件事先复制到 <joomla>/images/banners 文件夹里面去。