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