Добавить во всплывающее окно функцию

Discussion in 'Модернизация расширений' started by despol1ment, Apr 28, 2015.

  1. despol1ment
    Offline

    despol1ment Недавно здесь

    Joined:
    Apr 28, 2015
    Messages:
    7
    Likes Received:
    0
    Gender:
    Male
    При входе на сайт использую всплывающее окно (модуль SplashR). Периодичность показа настраивается, но мне хотелось бы во всплывающее окно добавить функцию «Больше не показывать это сообщение». Подскажите, в каком направлении копать.
     
  2.  
  3. CB9T
    Offline

    CB9T Преподаватель по J! Staff Member ⇒ Профи ⇐

    Joined:
    May 21, 2010
    Messages:
    2,604
    Likes Received:
    322
    Gender:
    Male
    копать в печеньки (куки)

    У нонамбера есть уже: http://demo.nonumber.nl/index.php/12-modals
    To make a modal popup only show once, you can use open=once, like:

    Код (CODE):
    1. {modal html=This modal will only show once|open=once}{/modal}
     
  4. despol1ment
    Offline

    despol1ment Недавно здесь

    Joined:
    Apr 28, 2015
    Messages:
    7
    Likes Received:
    0
    Gender:
    Male
    Мне нужно чтобы сам посетитель смог отключить всплывающее окно навсегда.
     
  5. CB9T
    Offline

    CB9T Преподаватель по J! Staff Member ⇒ Профи ⇐

    Joined:
    May 21, 2010
    Messages:
    2,604
    Likes Received:
    322
    Gender:
    Male
    хм... если прямо так... то куки тут не помогут, надо чекбокс + писать в БД, чтобы при повторно не отображалось.
     
  6. despol1ment
    Offline

    despol1ment Недавно здесь

    Joined:
    Apr 28, 2015
    Messages:
    7
    Likes Received:
    0
    Gender:
    Male
    А Вы не встречали подобного модуля либо скрипта с таким функционалом?
     
  7. CB9T
    Offline

    CB9T Преподаватель по J! Staff Member ⇒ Профи ⇐

    Joined:
    May 21, 2010
    Messages:
    2,604
    Likes Received:
    322
    Gender:
    Male
    я лично нет, т.к. узконаправленный скрипт получается.
     
  8. despol1ment
    Offline

    despol1ment Недавно здесь

    Joined:
    Apr 28, 2015
    Messages:
    7
    Likes Received:
    0
    Gender:
    Male
    Мне без этого окна никак не обойтись, в нем находится голосовое послание и переход на звуковую версию сайта с помощью клавиатуры для тотально слепых людей. И в то же время не хотелось бы чтобы окно утомляло людей которые не собираются пользоваться звуковой версией. Такая вот дилемма. Спасибо за совет с БД буду пробовать.
     
  9. AKopytenko
    Offline

    AKopytenko Russian Joomla! Team Staff Member

    Joined:
    Sep 1, 2011
    Messages:
    1,963
    Likes Received:
    168
    Gender:
    Male
    На сколько я понял, сейчас у вас для неавторизованных посетителей сайта с определённым интервалом всплывает окошко с предложением авторизоваться. Так?
    Вы хотите, чтобы в этом окошке можно было бы отключить повторный показ?
     
  10. despol1ment
    Offline

    despol1ment Недавно здесь

    Joined:
    Apr 28, 2015
    Messages:
    7
    Likes Received:
    0
    Gender:
    Male
    Да, совершенно верно.
    --- добавлено: Apr 28, 2015 ---
    Нет не авторизоваться. На автомате написал. Всплывает окно воспроизводиться речь и предлагается использовать клавиатуру для перехода на другую версию сайта.
     
  11. CB9T
    Offline

    CB9T Преподаватель по J! Staff Member ⇒ Профи ⇐

    Joined:
    May 21, 2010
    Messages:
    2,604
    Likes Received:
    322
    Gender:
    Male
    Тогда modals подойдет...
    DtEIIcb.jpg
    Код (CODE):
    1. |open=once
     
  12. despol1ment
    Offline

    despol1ment Недавно здесь

    Joined:
    Apr 28, 2015
    Messages:
    7
    Likes Received:
    0
    Gender:
    Male
    Нужно чтобы сам посетитель выбрал отключать ему окно либо нет. А по Вашему совету - выбора у посетителя нет.
    --- добавлено: Apr 28, 2015 ---
    Проще говоря в окне нужен чекбокс при активации которого окно больше не появиться.
     
  13. AKopytenko
    Offline

    AKopytenko Russian Joomla! Team Staff Member

    Joined:
    Sep 1, 2011
    Messages:
    1,963
    Likes Received:
    168
    Gender:
    Male
    Нужно сделать во всплывающем окне чекбокс, например:
    Код (html):
    1. <input name="disableSpeakVersion" type="checkbox" value="1" />


    На него привязать через jQuery связь с обработчиком (например, через AJAX можно). То есть:
    Код (javascript):
    1. $(document).ready(function(){
    2.     if($("input[name='disableSpeakVersion']:checked")) {
    3.         $.ajax({
    4.             url: адрес-обработчика,
    5.             data: "disableSpeakVersion=no",
    6.             success: function(res) {
    7.                 if(res = "disableSpeakVersion") {
    8.                     /* не показываем окно. например, ставим ему постоянно display: none */
    9.                 }
    10.             }
    11.         });
    12.     }
    13. });


    Внутри обработчика проверить пришла ли переменная disableSpeakVersion и в каком значении. Если да, то вернуть ответ на страницу:
    Код (PHP):
    1. if(isset($_POST["disableSpeakVersion"]) $disableSpeakVersion = $_POST["disableSpeakVersion"];
    2.  
    3. $session = JFactory::getSession();
    4. $session->set("showSpeakVersion", $disableSpeakVersion);
    5.  
    6. if(!isset($session->get("showSpeakVersion")) && $session->get("showSpeakVersion") !== "no") {
    7.     echo "disableSpeakVersion";
    8. }


    Как-то так...
     
  14. despol1ment
    Offline

    despol1ment Недавно здесь

    Joined:
    Apr 28, 2015
    Messages:
    7
    Likes Received:
    0
    Gender:
    Male
    Спасибо! Сделаю отпишусь.
     

Share This Page

Loading...