Клики для flash-баннеров в CMS Joomla
Дата: 15 Май ' 09 Автор: mart Рубрики: Программирование
Столкнулся с проблемой подсчета кликов для флеш-баннеров в стандартном модуле «баннерокрутилки» в CMS Joomla 1.5.x.
Мною было использовано решение, которое применяют владельцы «взрослых» баннерных сетей — передача параметра во флеш-баннер.
Для этого в файле /modules/mod_banners/helper.php необходимо найти код вставки flash-баннера:
$html = '<object ... </object>'; |
Далее мы меняем его на свой:
$html = '<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="$width" height="$height"> <param name="movie" value="$imageurl?url=$link"><embed src="$imageurl?url=$link" pluginspage="http://www.macromedia.com/go/get/flashplayer" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="$width" height="$height"></embed> </object>'; |
Изменение были в вызове файла $imageurl?url=$link
Теперь при создании флеш-баннера мы не указываем прямую ссылку на клик, а_root.url
Теперь при использованиии стандартных средств «баннерокрутилки» com_banner, прописываем ссылку в поле цель и выбирая из списка наш флеш-баннер, мы получаем редирект через компонент с засчитыванием клика в системе.
P.S. Кстати, при вызове убрал loop=»false» (зацикливание отключено). Не знаю какой смысл вкладывали разработчики Joomla в эту строку, но лично мне было необходимо зацикливание, а не так что один раз открутился и «баста».
P.P.S. Учел замечание Ursula, но пошел другим, более простым, путем. Код вывел в апострофах, и тогда отпала необходимость экранировать кавычки в коде.
14 комментариев
-
Сергей
10|Окт|2009 1Здравствуйте.
Указываю во флешке ссылку _root.url, но ничего не работает. -
10|Ноя|2009
2
Вы указываете на событие кнопки?
-
Валерий
25|Дек|2009 3Здравствуйте! Немного не в тему, в джумле компонент com_banners не показывает клики, показы обновляет, а клики нет. Сам кликал на баннер и обновлял стр в админке, увеличивались только показы… Что можно сделать?
-
10|Янв|2010
4
И у меня не заработало ((
что я делаю не так??
1. изменил в коде на
$html = »«;
2. Как я понял при создании банера ссылку надо указать вместо ссылки _root.url ) или я что то не допонял )) разъясните плизз
-
Ursula
02|Дек|2010 5Хозяин, судя по всему, пропал в голубой дали. Если кто еще гуглит по этой проблеме, есть два момента:
1. В приведенном фрагменте кода все кавычки должны быть «английскими» (как вокруг этого слова) и экранированными, т.е. перед каждой кавычкой следует поставить обратный слэш (\).
2. Под _root.url подразумевается скрипт, повешенный на кнопку. Чтобы ваш баннер работал, следует создать поверх всех слоев прозрачную кнопку, обязательно указать в параметрах файла язык Action Script 2.0 и, выделив кнопку, в «Actions» (Действия) прописать ей примерно следующее:
on (release)
{_root.url,_blank}
где _root.url — это ссылка, которую вы указываете через компонент, а _blank — это то, в каком окне откроется ссылка. _blank — новое, _parent — то же самое. -
02|Дек|2010
6
Сорри, хозяин занят написание своего магазина и пока не успеваю отвечать на все вопросы. Но спасибо за проявленный интерес и правки по задаче. Учел комментарии и сделал свои правки.
-
Ursula
02|Дек|2010 7Тьху, эта собака преобразует кавычки. Пишите верхние, а не елочки.
-
Bars
26|Фев|2011 8Нифига не работает
-
27|Фев|2011
9
С новыми правками должно работать… Или по-крайней мере какую-нибудь ошибку давать.
-
Дима
09|Апр|2011 10При изменении /modules/mod_banners/helper.php пустой экран. Не работает вообщем.
-
Дима
09|Апр|2011 11Долго бился с этой проблемой.
Вместо $html = ‘<object … ‘;ставим:
$clickurl = $item->clickurl;
$html_flash = »«;
if ($clickurl != ») { //Add a GIF based clickthrough IF there is a link supplied in teh ‘Click url’ for this banner in the banner manager.
$html = »; //Add the banner clickthrough
$html .= $html_flash;
$html .= ‘ ‘;
$html .= »;
} else { //Otherwise use the orignal code, so that the flash banner still goes to the right place… (instead of a blank page!)
$html .= $html_flash;
}Всем удачи
-
Дима
09|Апр|2011 12Бин, всё вырезалось! короче вот здесь есть решение…
http://forum.joomla.org/viewtopic.php?t=418575Всем удачи
-
Roman
14|Янв|2012 13сделал. работает. но позицию надо жестко выставлять. не центрирует слой со ссылкой.
-
29|Янв|2012
14
Это уже вопросы верстки — не программного кода. Напрягите своего верстальщика.