При входе на сайт использую всплывающее окно (модуль SplashR). Периодичность показа настраивается, но мне хотелось бы во всплывающее окно добавить функцию «Больше не показывать это сообщение». Подскажите, в каком направлении копать.
копать в печеньки (куки) У нонамбера есть уже: http://demo.nonumber.nl/index.php/12-modals To make a modal popup only show once, you can use open=once, like: Код (CODE): {modal html=This modal will only show once|open=once}{/modal}
хм... если прямо так... то куки тут не помогут, надо чекбокс + писать в БД, чтобы при повторно не отображалось.
Мне без этого окна никак не обойтись, в нем находится голосовое послание и переход на звуковую версию сайта с помощью клавиатуры для тотально слепых людей. И в то же время не хотелось бы чтобы окно утомляло людей которые не собираются пользоваться звуковой версией. Такая вот дилемма. Спасибо за совет с БД буду пробовать.
На сколько я понял, сейчас у вас для неавторизованных посетителей сайта с определённым интервалом всплывает окошко с предложением авторизоваться. Так? Вы хотите, чтобы в этом окошке можно было бы отключить повторный показ?
Да, совершенно верно. --- добавлено: 28.04.2015 --- Нет не авторизоваться. На автомате написал. Всплывает окно воспроизводиться речь и предлагается использовать клавиатуру для перехода на другую версию сайта.
Нужно чтобы сам посетитель выбрал отключать ему окно либо нет. А по Вашему совету - выбора у посетителя нет. --- добавлено: 28.04.2015 --- Проще говоря в окне нужен чекбокс при активации которого окно больше не появиться.
Нужно сделать во всплывающем окне чекбокс, например: Код (html): <input name="disableSpeakVersion" type="checkbox" value="1" /> На него привязать через jQuery связь с обработчиком (например, через AJAX можно). То есть: Код (javascript): $(document).ready(function(){ if($("input[name='disableSpeakVersion']:checked")) { $.ajax({ url: адрес-обработчика, data: "disableSpeakVersion=no", success: function(res) { if(res = "disableSpeakVersion") { /* не показываем окно. например, ставим ему постоянно display: none */ } } }); } }); Внутри обработчика проверить пришла ли переменная disableSpeakVersion и в каком значении. Если да, то вернуть ответ на страницу: Код (PHP): if(isset($_POST["disableSpeakVersion"]) $disableSpeakVersion = $_POST["disableSpeakVersion"]; $session = JFactory::getSession(); $session->set("showSpeakVersion", $disableSpeakVersion); if(!isset($session->get("showSpeakVersion")) && $session->get("showSpeakVersion") !== "no") { echo "disableSpeakVersion"; } Как-то так...