Безлимитный хостинг на сверхбыстрых SSD-дисках от 66р в месяц   •   Реклама
2 694 просм
18 комм
Поделиться:

Вызов стандартного модального окна в DLE

24 ноя
Хаки

Если вы уже давно знакомы с DataLife Engine, то знаете, что часть информации (а именно информационные уведомления) представляется пользователю в модальном окне. Вполне себе хорошее решение, которое позволяет значительно сэкономить время.

Помимо того, что стандартные уведомления в DataLife Engine представляются в модальном окне, вы сами можете вызвать это окно с необходимой вам информацией.

Код для вызова:

<a href="javascript: void(0);" onclick="DLEalert('Текст', 'Заголовок');">Модальное окно</a>

Вместо слов ссылкой может быть обернуто изображение или другой элемент на странице. Количество таких ссылок для вызова не ограничено, а дизайн тот, что стоит на остальных модальных окнах вашего сайта.

18
комментариев
Форма комментирования этой статьи скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
    • 0
    4
      •  Пользователь
    21 апр в 13:43

    Здравствуйте Артём! Задача: вывод модального окна один раз при открытии сайта. В main.tpl (пробовал и в блок head и body) добавил:

    <script>

    $(document).ready(function() {

    DLEalert('Текст', 'Заголовок');

    });

    </script>

    Работает, но проблема в том, что при открытии любой странице сайта все равно выскакивает модальное окно. Пока не получается разобраться. Был бы признателен, за помощь или подсказку.

      • 0
      828
        •  Администратор
      21 апр в 14:29

      Заур Магомедов, здравствуйте!

      Один раз в день?

      • 0
      4
        •  Пользователь
      22 апр в 16:58

      Артём Мáлков, добрый день!

      Смотрите, надо чтобы при каждом новом открытии сайта посетителем выходило модальное окно. Затем после того, как он его закроет и начнет переходить на другие страницы сайта (например "контакты"), это окно снова не появлялось (у меня на сайте пока так происходит).

      • 0
      828
        •  Администратор
      23 апр в 17:05

      Заур Магомедов, здравствуйте!

      Я предлагаю Вам использовать куки. Логика такая:

      1. При первом посещении сайта сохраняем некоторую куку и открываем окно, если кука не была ранее установлена.

      2. При посещении других страниц сайта проверяем есть ли кука, и если есть - окно не открываем.

      Реализация примерно такая (проверить нет возможности, так что проверьте сами и отпишитесь):

      <script>
      	
      	function get_cookie(name) {
      	
      		let matches = document.cookie.match(new RegExp("(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"));
      		
      		if(matches) {
      			
      			return decodeURIComponent(matches[1]);
      			
      		} else {
      			
      			return "";
      			
      		}
      		
      	}
      
      	$(document).ready(function() {
      		
      		if(get_cookie("open_modal") == "") {
      			
      			document.cookie = "open_modal=true;path=/;";
      			
      			DLEalert('Текст', 'Заголовок');
      		
      		}
      		
      	});
      	
      </script>

      Кука будет удаляться автоматически при закрытии браузера.

      • 0
      4
        •  Пользователь
      24 апр в 08:35

      Артём Мáлков, доброе утро!

      Попробовал вставить этот код (пробовал в разные места: в body, в head) и теперь вообще ничего не происходит, то есть модальное окно перестало выходить.

      Но все равно спасибо, идея отличная.

      • 0
      828
        •  Администратор
      24 апр в 13:12

      Заур Магомедов, здравствуйте!

      Код поправил. Окно будет показываться один раз при первом посещении сайта, следующий - когда человек закроет браузер и откроет вновь.

      • 0
      4
        •  Пользователь
      24 апр в 14:35

      Артём Мáлков, спасибо, теперь меня устраивает, Вы настоящий профессионал.

      Скажите куда, переведу на бутылочку Чешского пива в знак благодарности:)

      • 0
      828
        •  Администратор
      24 апр в 17:17

      Заур Магомедов, на странице "О Pandoge" есть информация на этот счет wink

    • 0
    828
      •  Администратор
    21 дек в 21:18

    Александр Орлов, из простого.

    Ссылка на вызов:

    <a href="javascript: void(0);" onclick="show_modal_dle();">Показать окно</a>

    Скрипт:

    <script>
    	
    	function show_modal_dle() {
    	
    		$("#div_modal_dle").dialog({
    			autoOpen: true,
    			show: "fade",
    			hide: "fade",
    			width: 600,
    			buttons: {
    				"Закрыть окно": function() {
    					$(this).dialog("close");
    				},
    			}
    		});
    		
    	}
    	
    </script>

    Контент:

    <div id="div_modal_dle" title="Название окна" style="display: none;">
    	
    	{calendar}
    	
    </div>
    • 0
    2
      •  Пользователь
    21 дек в 17:55

    Пример идеи отправлю в личку. Не хочу что бы лишние ссылки были на конкурентов) А тег {calendar}

    • 1
    2
      •  Пользователь
    21 дек в 17:54

    Подскажите как вставить в данное модальное окно тег

    • 1
    7
      •  Проверенный
    6 дек в 15:34

    Артём Мáлков, Спасибо большое помогло. :)

    • 0
    828
      •  Администратор
    6 дек в 00:33

    Сергей, скрипт нужно вставить перед </body>, а в HEAD:

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    • 0
    7
      •  Проверенный
    5 дек в 21:07

    Артём Мáлков, Поставил, но увы нечего не выводит(

    • 0
    828
      •  Администратор
    5 дек в 00:16

    Сергей, так:

    <script>
    
    	$(document).ready(function() {
    
    		DLEalert('Текст', 'Заголовок');
    
    	}); 
    
    </script>
    • 0
    7
      •  Проверенный
    4 дек в 20:53

    Подскажите, а возможно сделать вызов модального окна автоматически при входе на сайт?

    • 1
    828
      •  Администратор
    5 ноя в 15:41

    Антон, покажите пример, как выглядит окно на Вашем сайте.

    • 2
    1
      •  Пользователь
    5 ноя в 09:30

    Подскажите, а как убрать кнопку "ok" в этом модальном окне ?

Подняться наверх
«Pandoge» - помощник вебмастера