Добрый день!
Была поставлена задача добавить возможность выводить через позиции {Баннер=номер позиции} баннеры гугла и яндекса. Вообще решение подойдет для любого кода html или javascript. Подсчет показов работать будет, а вот клики и CTR нет.
Сам код баннеров вы вставляете в файл TXT и его мы закачиваем как баннер.
И так приступим.
Нам понадобится внести изменения в языковой файл, файл model.php и в файл backend.php(админка)
Первое открываем /ПАПКАСАЙТА/languages/ru/admin/components/banners.php
Ищем
После добавляем нашу переменную:
Далее находим
меняем на
Сохраняем и закрываем файл языковой. Для английского языка сделать тоже самое только в папке en. Сейчас мы определили языкове переменные которые будем использовать далее.
Открываем файл /ПАПКАСАЙТА/admin/components/banners/backend.php
Ищем код
нам надо добавить загрузку файла в формате txt
заменяем на код
Далее нам надо добавить выбор типа загружаемого баннера
ищем
После сразу добавляем
тут как раз мы указали нашу языковую переменную.
И остается нам только файл model.php
Открываем /ПАПКАСАЙТА/components/banners/model.php
ищем
После добавляем
Проверку на наличие файла не добавлял, так как проходит перед загрузкой.
далее ищем
добавляе
Внимание!!! Данный последний код найдется и добавится в двух местах!!!
Все файлы закрываем и получаем возможность вставлять баннеры от гугла и яндекса.
Вопросы или замечания приветствуются.
Была поставлена задача добавить возможность выводить через позиции {Баннер=номер позиции} баннеры гугла и яндекса. Вообще решение подойдет для любого кода html или javascript. Подсчет показов работать будет, а вот клики и CTR нет.
Сам код баннеров вы вставляете в файл TXT и его мы закачиваем как баннер.
И так приступим.
Нам понадобится внести изменения в языковой файл, файл model.php и в файл backend.php(админка)
Первое открываем /ПАПКАСАЙТА/languages/ru/admin/components/banners.php
Ищем
$_LANG['AD_BANNER_FLASH'] ='Flash (swf) (468x60)';
$_LANG['AD_BANNER_HTML'] ='HTML (google, yandex)';
$_LANG['AD_BANNER_FILE_TYPES'] ='Только gif, jpg, jpeg, png, swf';
$_LANG['AD_BANNER_FILE_TYPES'] ='Только gif, jpg, jpeg, png, swf, txt';
Открываем файл /ПАПКАСАЙТА/admin/components/banners/backend.php
Ищем код
нам надо добавить загрузку файла в формате txt
заменяем на код
Далее нам надо добавить выбор типа загружаемого баннера
ищем
<option value="swf" <?php if(@$mod['typeimg']=='swf') { echo 'selected'; } ?>><?php echo $_LANG['AD_BANNER_FLASH']; ?></option>
<option value="txt" <?php if(@$mod['typeimg']=='txt') { echo 'selected'; } ?>><?php echo $_LANG['AD_BANNER_HTML']; ?></option>
И остается нам только файл model.php
Открываем /ПАПКАСАЙТА/components/banners/model.php
ищем
public static function getSwfBanner($banner){ return '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="100%" height="90">'."\n". '<param name="movie" value="/images/banners/'.$banner['fileurl'].'?banner_id='.$banner['id'].'" />'."\n". '<param name="quality" value="high" />'."\n". '<param name="FlashVars" value="banner_id='.$banner['id'].'" />'."\n". '<embed src="/images/banners/'.$banner['fileurl'].'?banner_id='.$banner['id'].'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100%" height="90">'."\n". '</embed>'."\n". '</object>'; }
public static function getTxtBanner($banner){ $f = file_get_contents("".$_SERVER['DOCUMENT_ROOT']."/images/banners/".$banner['fileurl']."", true); // Читать строку их текстового файла и записать содержимое return $f; }
далее ищем
if ($banner['typeimg']=='swf'){ $html = self::getSwfBanner($banner); }
if ($banner['typeimg']=='txt'){ $html = self::getTxtBanner($banner); }
Все файлы закрываем и получаем возможность вставлять баннеры от гугла и яндекса.
Вопросы или замечания приветствуются.
Реклама #
Нил™ 7 лет назад #
Даже удивительно что в компоненте баннеры по умолчанию нет такой возможности как вставить обычный html код.
Erwin 7 лет назад #
Андрей 6 лет назад #
Может быть есть возможность открыть прямую ссылку? через чекбокс.