Все для DataLife Engine / DLE хаки / Хак для DLE / Управления рекламой баннеров в полной новости дле сайта

Управления рекламой баннеров в полной новости дле сайта


Хак для DLE с тонкой настройкой баннерной рекламы под названием ShortBanners v1.0 позволяет легко прямо при добавлении новостей, вставлять между постами рекламные блоки установленные в админ панели DataLife Engine. В результате управление рекламными материалами на сайте, вы можете указывать после какой по счёту новости выводить баннер при просмотре кратких новостей.
Зачем спросите это нужно? А, для того, чтобы увеличения прибыли на сайте, так как если вы на своем ресурсе работает с рекламами Яндекс Директ и AdSense от Гугла. то это самый лучший вариант заработка на них. Особенно если вы поступите как это делают многие, и сделаете почти не отличимые заголовки сайта с рекламами от Директа или Адсенса. Тем самым люди будут случайно нажимать на рекламу, вместо перехода на полную новость, иногда такая реклама просто лучше воспринимается и люди сам охотно переходят на интересующие их сайта рекламы Яндекс Директ и AdSense от Гугла.

Для тех кто в глух и в танке, то есть плохо знает о системе контекстной рекламы «Яндекса» (РСЯ), советуем прочитать статью о том, как грамотная настройка яндекс директ, позволяет зарабатывать больше электронных денег на ваших сайтах. Такую информацию следует изучить заранее, прежде чем приступать к интеграции кода.

Управления рекламой баннеров в полной новости дле сайта
Особенности:
- автоматически формирует список после какой по счёту новости выводить баннер, в зависимости от количества новостей для вывода на главной странице;
- уменьшено количество логических операций, по сравнению со стандартной функцией ДЛЕ по управлению баннерами между краткими новостями

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 );


Заменить на:

    $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 );


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;                }


Заменить на:

                if($value['short_place']>0) $ban_short[$value['short_place']][] = $value['code'];


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 ++;        }


Заменить на:
        if($ban_short[$news_c]) {            $banner_rand = array_rand($ban_short[$news_c]);            $tpl->copy_template .= $ban_short[$news_c][$banner_rand];        }        $news_c ++;


«Автор:»MSW
Версия : 8.*-9.*

Рекомендуем Управления рекламой баннеров в полной новости хаки для DataLife Engine 9.x

ShortBanners-v1.0_9.x.zip [23,67 Kb] (cкачиваний: 102)
  • 60

Комментарии 6

dle9.com от 18 марта 2015 16:24
Цитата: yorg
Цитата: dle9
Цитата: yorg
А на DLE 10.3 ПОЙДЕТ???

вряд ли, у автора может быть адаптированный вариант для вашей версии

А кто автор?

там же написано в новости «Автор:»MSW
yorg от 18 марта 2015 15:27
Цитата: dle9
Цитата: yorg
А на DLE 10.3 ПОЙДЕТ???

вряд ли, у автора может быть адаптированный вариант для вашей версии

А кто автор?
dle9.com от 18 марта 2015 15:25
Цитата: yorg
А на DLE 10.3 ПОЙДЕТ???

вряд ли, у автора может быть адаптированный вариант для вашей версии
yorg от 18 марта 2015 14:53
А на DLE 10.3 ПОЙДЕТ???
failsbor от 12 марта 2013 22:30
после этого хака, начали показываться баннеры которые были отключены и по очереди, вернул все обратно
uvedom от 27 августа 2012 22:26
wink
Все работает ,очень удобно!
Добавить комментарий

Оставить комментарий

    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent