Помощь [help] Ротатор pop-up баннеров для DLE (на JavaScript)

Тема в разделе "DLE", создана пользователем ox1dex, 24 авг 2008.

Информация :
Актуальная версия DataLife Engine 11.3
( Final Release v.11.3 | Скачать DataLife Engine | Скачать 11.3 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.2 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. ox1dex

    ox1dex Писатель

    Регистр.:
    12 май 2008
    Сообщения:
    9
    Симпатии:
    1
    Здравствуйте уважаемые пользователи форума.

    Перед тем как задать вопрос сразу напишу, что с помощью поиска по форуму ответа не нашел (не исключено, что плохо искал).


    Недавно на сайте _4dle.ru нашел ротатор для pop-up баннеров, написанный на javascript - _http://4dle.ru/hacks/1147156074-rotator-pop-up-bannerov-dlja-dle.html

    Хочу с помощью него поставить на свой сайт 2 pop-up баннера, но так чтобы при заходе на сайт сначала открывался один pop-up баннер, а при обновлении страницы (или при переходе на другую) - показывался второй баннер.

    Пытался поставить хак по инструкции в новости на _4dle.ru, но так и не получилась, уж больно автор сей новости постарался сделать ее неразборчивой...

    Поэтому прошу Вас помочь мне разобраться как настроить данный хак, чтобы он был работоспособным.

    Интересует именно правильное заполнение файла "2popup.js":

    Пробовал просто заменить коды партнерки на свои, но ничего не вышло, при открытии сайта нет ни одного pop-up баннера.

    Пожалуйста, помогите решить эту проблему. Заранее большое спасибо всем отписавшимся в этой теме.
     
  2. Shotlandec

    Shotlandec

    Регистр.:
    17 сен 2007
    Сообщения:
    728
    Симпатии:
    162
    на самый лучший, себе раньше ставил, когда попы вертел на сайтах:
    Код:
    Установка:
    в index.php найти
    Цитата:$tpl->load_template('main.tpl'); 
    
    
    ниже добавить:
    
    $popup1="КОД-попапа1";
    //$popup2="ВТОРОГО";
    if (isset($_COOKIE['popup_showed'])){
    $tpl->set('{popup1}', "");
    // $tpl->set('{popup2}', "");
    } else {
    set_cookie ("popup_showed", $member_id['name'], time()+3600*24);
    $tpl->set('{popup1}', $popup1);
    //$tpl->set('{popup2}', $popup2);
    } 
    
    
    Внимание: вместо КОД-попапа1 вставляйте код вашего рекламного сообщения, предварительно заменив в нем все двойные кавычки на одинарные " -> ' 
    
    Если у вас несколько всплывающих окон, то раскомментируйте (удалите // в начале) строки со словами popup2.
    
     
    ox1dex нравится это.
  3. ox1dex

    ox1dex Писатель

    Регистр.:
    12 май 2008
    Сообщения:
    9
    Симпатии:
    1
    Сейчас поставил код, но почему то баннеры опять не отоброжаются (вообще, как будто их и нет). В html коде страницы тоже не нашел... Что это может быть? Версия DLE - 6.5

    Подскажите пожалуйста.
     
  4. kandasoft

    kandasoft Читатель

    Заблокирован
    Регистр.:
    17 окт 2007
    Сообщения:
    259
    Симпатии:
    143
    Добавь в шаблон main.tpl
    2 кода: {popup1} и {popup2}
    Тогда должно будет все работать.
     
    ox1dex нравится это.
  5. Shotlandec

    Shotlandec

    Регистр.:
    17 сен 2007
    Сообщения:
    728
    Симпатии:
    162
    извини я про это не написал, думал это и так понятно. естественно надо это вставить в main.tpl... я это вставлял после {headers}
     
    ox1dex нравится это.
  6. ox1dex

    ox1dex Писатель

    Регистр.:
    12 май 2008
    Сообщения:
    9
    Симпатии:
    1
    Уже разобрался, спасибо что объяснили. :)
     
  7. pilot233

    pilot233

    Регистр.:
    24 июн 2006
    Сообщения:
    405
    Симпатии:
    88
    =========================

    С этим кодом он их по очереди не выводит, а котролирует то куки, чтобы много раз не вылазили!
     
  8. Shotlandec

    Shotlandec

    Регистр.:
    17 сен 2007
    Сообщения:
    728
    Симпатии:
    162
    здрасьте, приехали. все нормально он работает, он контролирует куки, то есть не выводит одну и ту же попу, так как все равно эти партнерки не платят за больше показов в сутки, но так же и выводит их по очереди!!! при открытии сайта будет одна попа, потом при переходе на любую другую страницу будет другая попа и т.д. как все попы покажутся, больше их не будет.

    зы ты же сам себе ответил на свое высказывание, что контролируются куки, если первая попа была показана, то естественно ее не будет а будет вторая :)
     
  9. pilot233

    pilot233

    Регистр.:
    24 июн 2006
    Сообщения:
    405
    Симпатии:
    88
    Еще раз повторяю, что по твоему коду не будут они по очереди вылазить, а оба сразу сам этим кодом пользовался одно время. Вот код который выводит по очереди pop-up:

    <?php
    if (isset($_COOKIE['banner']))
    {
    $banner=htmlspecialchars($_COOKIE['banner']);
    if ($banner=="somethingelse")
    {
    echo "КОД ПЕРВОЙ ПАРТНЕРКИ";
    setcookie("banner","protizer");
    }
    else
    {
    echo "КОД ВТОРОЙ ПАРТНЕРКИ";
    setcookie("banner","somethingelse");
    }
    }
    else
    {
    echo "КОД ТРЕТЬЕЙ ПАРТНЕРКИ";
    setcookie("banner","protizer");
    }
    ?>

    код каторый нужно вставить в main.tpl перед хедером и заменяем все кавычки на одинарные (внимательнее)

    Работать должно везде где есть PHP, но в DLE выполнение php в шаблонах по умолчанию запрещено. Надо это исправить... Открываем index.php ищем строчку:

    echo $tpl->result['main'];

    и заменяем её на:

    eval (' ?' . '>' . $tpl->result['main'] . '<' . '?php ');

    Все готово!

    ================================================

    Вот еще один на js:

    По просьбе многих вэб мастеров, аналог скрипта на php теперь написан на .js . В отличии скрипта на php он может использоваться в шаблонах. Необходимо лишь вставить в шаблон строку
    <script LANGUAGE="Javascript" SRC="http://yoursite.com/2popup.js"></SCRIPT>

    1. Создаем файл 2popup.js с таким содержанием:

    function getCookieVal (offset)
    {
    var endstr = document.cookie.indexOf (";", offset);
    if (endstr == -1)
    endstr = document.cookie.length;
    return unescape(document.cookie.substring(offset, endstr));
    }
    function SetCookie (name, value)
    {
    var argv = SetCookie.arguments;
    var argc = SetCookie.arguments.length;
    var expires = (argc > 2) ? argv[2] : null;
    var path = (argc > 3) ? argv[3] : null;
    var domain = (argc > 4) ? argv[4] : null;
    var secure = (argc > 5) ? argv[5] : false;
    document.cookie = name + "=" + escape (value) +
    ((expires == null) ? "" : ("; expires=" +
    expires.toGMTString())) +
    ((path == null) ? "" : ("; path=" + path)) +
    ((domain == null) ? "" : ("; domain=" + domain)) +
    ((secure == true) ? "; secure" : "");
    }
    function GetCookie (name)
    {
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i<clen)
    {
    var j = i + alen;
    if (document.cookie.substring(i, j) == arg)
    return getCookieVal (j);
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0)
    break;
    }
    return null;
    }
    banner=GetCookie("banner");
    if (banner!=null)
    {
    if (banner == 2)
    {
    document.write("<script LANGUAGE='Javascript' SRC='http://pop/js.php'></SCRIPT>");
    SetCookie("banner",1);
    }
    else
    {
    document.write("<script LANGUAGE='Javascript' SRC='http://protizer.ru/popup.php?id=1&site=1'></SCRIPT><link rel='stylesheet' href='http://protizer.ru/pop_style1.css' type='text/css'>");
    SetCookie("banner",2);
    }
    }
    else
    {
    document.write("<script LANGUAGE='Javascript' SRC='http://protizer.ru/popup.php?id=1&site=1'></SCRIPT><link rel='stylesheet' href='http://protizer.ru/pop_style1.css' type='text/css'>");
    SetCookie("banner",2);
    }

    2. В main.tpl (лучше внизу страницы) вставляем
    <script LANGUAGE="Javascript" SRC="http://yoursite.com/2popup.js"></SCRIPT>

    3. Загружаем все файлы на сервер

    Внимание!!! Не забывайте в своем коде заменить двойные кавычки на одинарные!!!
    SRC="http://pop/js.php" на SRC='http://pop/js.php'
     
  10. Shotlandec

    Shotlandec

    Регистр.:
    17 сен 2007
    Сообщения:
    728
    Симпатии:
    162
    ну ты меня совсем за идиота держишь :) работало на куче сайтов, ни на одном одновременно ни чего не появлялось. давай не будем письками мерятся, возьми сам и проверь. дальнейшие обсуждения просто бесмысленны.
     
Статус темы:
Закрыта.