Flash баннеры в Joomla, undefined, clickTag и link1 | Joomla
Попалась задача – опубликовать flash баннер рекламодателя в Joomla! 1.5. В принципе, если ссылка прописана в баннере кодом:
on (release) {
getURL("http://yoursite.com/", "_blank");
}
то проблем нет – достаточно загрузить swf через медиаменеджер в джумле, добавить рекламодателя, создать новый баннер, выбрать закачанный файл и (обязательно!) указать размеры баннера в соответствующих полях (ширина и высота) в админке. Но если в баннере ссылка прописана кодом в которой ссылка прописана переменной – такой метод не сработает.
Обычно, если баннер готовится к публикации в системе медийной банерообменной сети типа AdRiver или GoogleAdwords в баннер прописывают код типа:
on (release) {
getURL(_root.link1, "_blank");
}
где link1 – имя переменной содержащей линк на целевой сайт. Для баннеров подготовленных для google код примерно такой:
on (release) {
if (clickTAG.substr(0,5) == "http:") {
getURL(clickTAG,"_blank");
}
}
Здесь переменная – clickTAG. Теперь наша задача передать значению переменной наш целевую ссылку. В Joomla есть возможность описать флеш баннер пользовательским кодом. Воспользуемся этой возможностью. Публикуем флеш баннер как обычно – то есть указываем файл swf, размеры. Смотрим в браузере исходный код страницы того что получилось, находим код описывающий баннер:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" border="0" width="240" height="400">
<param name="wmode" value="opaque">
<param name="movie" value="http://yoursite.com/images/banners/banner240.swf">
<embed wmode="opaque" src="http://yoursite.com/images/banners/banner240.swf" loop="true" pluginspage="http://www.macromedia.com/go/get/flashplayer" type="application/x-shockwave-flash" width="240" height="400">
</embed>
</object>
Теперь в добавляем в описание embed переменную (link1 или clickTAG и т.д.) и ссылку куда должен вести клик по баннеру. Должно получиться примерно так:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" border="0" width="240" height="400">
<param name="wmode" value="opaque">
<param name="movie" value="http://yoursite.com/images/banners/banner240.swf?link1=http://site_to_go.com"">
<embed wmode="opaque" src="http://yoursite.com/images/banners/banner240.swf?link1=http://site_to_go.com" loop="true" pluginspage="http://www.macromedia.com/go/get/flashplayer" type="application/x-shockwave-flash" width="240" height="400">
</embed>
</object>
Вставляем этот код как пользовательский код баннера. Больше ничего заполнять не надо. Сохраняем и получаем рабочий баннер. Внимательно – с кэшированием! Для того чтобы удостовериться что после сохранения браузер отдал вам нужный код – смотрим исходный код страницы в браузере.
PS: Для IE важно чтобы путь к целевой странице был прописан и в теге param
Вот так:
<param name="movie" value="http://yoursite.com/images/banners/banner240.swf?link1=http://site_to_go.com"">
То есть если в param и в embed разные мувики – то ИЕ покажет тот что в param movie