22
мар
Автор: MSW
Версия DLE: 8.*-9.8
Сайт поддержки: https://0-web.ru/
Хак ShortBanners v1.0 даёт возможность более гибко управлять рекламными материалами на сайте, позволяет указать после какой по счёту новости выводить баннер при просмотре кратких новостей.
Особенности:
- автоматическое формирование списка после какой по счёту новости выводить баннер, в зависимости от количества новостей для вывода на главной странице;
- уменьшенное количество логических операций, по сравнению со стандартной функцией ДЛЕ по управлению баннерами между краткими новостями
Инструкция:
=====================================================
Модуль: ShortBanners
Версия: 1.0
-----------------------------------------------------
Автор: MSW
Сайт: http://0-web.ru/
-----------------------------------------------------
Copyright (c) 2012 MSW
=====================================================
Данный код защищен авторскими правами
=====================================================
Файл: ShortBanners.txt
=====================================================
1. Файл: /engine/inc/banners.php
Найти:
=====================================================
echo makeDropDown( array ("0" => $lang['banners_s_0'], "1" => $lang['banners_s_1'], "2" => $lang['banners_s_2'], "3" => $lang['banners_s_3'], "4" => $lang['banners_s_4'], "5" => $lang['banners_s_5'], "6" => $lang['banners_s_6'], "7" => $lang['banners_s_7'] ), "short_place", $short_place );
=====================================================
Заменить на:
=====================================================
#****** ShortBanners *** by MSW ******#
$banners_s = array("0" => $lang['banners_s_0']);
for($i=1; $i<=$config['news_number']; $i++) {
$banners_s[$i] = "После {$i}";
}
echo makeDropDown( $banners_s, "short_place", $short_place );
#****** ShortBanners *** by MSW ******#
=====================================================
2. Файл: /engine/modules/banners.php
Найти:
=====================================================
switch ($value['short_place']) //выбираем расположение баннера
{
case 1 : //вверх
$ban_short['top'][] = array ("text" => $value['code'], "zakr" => $value['bstick'] );
break;
case 2 : //центр
$ban_short['cen'][] = array ("text" => $value['code'], "zakr" => $value['bstick'] );
break;
case 3 : //низ
$ban_short['down'][] = array ("text" => $value['code'], "zakr" => $value['bstick'] );
break;
case 4 : //вверх,низ
$ban_short['top'][] = array ("text" => $value['code'], "zakr" => $value['bstick'] );
$ban_short['down'][] = array ("text" => $value['code'], "zakr" => $value['bstick'] );
break;
case 5 : //центр,низ
$ban_short['cen'][] = array ("text" => $value['code'], "zakr" => $value['bstick'] );
$ban_short['down'][] = array ("text" => $value['code'], "zakr" => $value['bstick'] );
break;
case 6 : //Вверх,центр
$ban_short['cen'][] = array ("text" => $value['code'], "zakr" => $value['bstick'] );
$ban_short['top'][] = array ("text" => $value['code'], "zakr" => $value['bstick'] );
break;
case 7 : //вверх,центр,низ
$ban_short['cen'][] = array ("text" => $value['code'], "zakr" => $value['bstick'] );
$ban_short['top'][] = array ("text" => $value['code'], "zakr" => $value['bstick'] );
$ban_short['down'][] = array ("text" => $value['code'], "zakr" => $value['bstick'] );
break;
}
=====================================================
Заменить на:
=====================================================
#****** ShortBanners *** by MSW ******#
if($value['short_place']>0) $ban_short[$value['short_place']][] = $value['code'];
#****** ShortBanners *** by MSW ******#
=====================================================
3. Файл: /engine/modules/show.short.php
Удалить:
=====================================================
if( isset( $ban_short ) ) {
for($indx = 0, $max = sizeof( $ban_short['top'] ), $banners_topz = ''; $indx < $max; $indx ++)
if( $ban_short['top'][$indx]['zakr'] ) {
$banners_topz .= $ban_short['top'][$indx]['text'];
unset( $ban_short['top'][$indx] );
}
for($indx = 0, $max = sizeof( $ban_short['cen'] ), $banners_cenz = ''; $indx < $max; $indx ++)
if( $ban_short['cen'][$indx]['zakr'] ) {
$banners_cenz .= $ban_short['cen'][$indx]['text'];
unset( $ban_short['cen'][$indx] );
}
for($indx = 0, $max = sizeof( $ban_short['down'] ), $banners_downz = ''; $indx < $max; $indx ++)
if( $ban_short['down'][$indx]['zakr'] ) {
$banners_downz .= $ban_short['down'][$indx]['text'];
unset( $ban_short['down'][$indx] );
}
$middle = floor( $config['news_number'] / 2 );
$middle_s = floor( ($middle - 1) / 2 );
$middle_e = floor( $middle + (($config['news_number'] - $middle) / 2) + 1 );
}
=====================================================
Найти:
=====================================================
if( isset( $middle ) ) {
if( $news_c == $middle_s ) {
$tpl->copy_template .= bannermass( $banners_topz, $ban_short['top'] );
} else if( $news_c == $middle ) {
$tpl->copy_template .= bannermass( $banners_cenz, $ban_short['cen'] );
} else if( $news_c == $middle_e ) {
$tpl->copy_template .= bannermass( $banners_downz, $ban_short['down'] );
}
$news_c ++;
}
=====================================================
Заменить на:
=====================================================
#****** ShortBanners *** by MSW ******#
if($ban_short[$news_c]) {
$banner_rand = array_rand($ban_short[$news_c]);
$tpl->copy_template .= $ban_short[$news_c][$banner_rand];
}
$news_c ++;
#****** ShortBanners *** by MSW ******#
=====================================================
Тоже самое в txt-файле:
54
1,2 Kb
shortbanners.txt.zip
Загружен: 22-03-2012, 23:33 / MD5: 33027b3113f94e0c69396cd70d4859c0
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.