Авторизация в модальном окне. (Первая ветка)

3372
Делалось на 1.10.4 возможно в 1.10.6 что то отличается.

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

Например кто скрывает контакты в объявлениях.

Как прикрутить



в файле шаблона template.php в секции <head> </head>

Например после этого блока
Код PHP:
  1. // Подключаем стили шаблона
  2. $this->addHeadCSS('templates/'.TEMPLATE.'/css/styles.css');

вставить этот блок:

Код PHP:
  1.  
  2. //если на странице есть показ модуля login
  3. if($mod_count['login']) {
  4. // Подключаем модальное окно
  5. $this->addHeadJS('modal/script.js');
  6. $this->addHeadCSS('modal/style.css');
  7. }
  8.  


в этом же файле в самом низу перед

Код PHP:
  1. </body>
  2. </html>
вставить:

Код PHP:
  1. <?php if($mod_count['login']) { ?>
  2. <div class="m_overlay-container">
  3. <div class="m_window-container zoomin">
  4. <?php $this->printModules('login'); ?>
  5. <span class="m_close" title="Закрыть"></span>
  6. </div>
  7. </div>
  8. <?php } ?>
  9.  
в этом же файле после этого блока

Код PHP:
  1. // Получаем количество модулей на нужные позиции
  2. $mod_count['top'] = $this->countModules('top');
  3. $mod_count['topmenu'] = $this->countModules('topmenu');
  4. $mod_count['sidebar'] = $this->countModules('sidebar');
вставить строку

Код PHP:
  1. $mod_count['login'] = $this->countModules('login');
в positions.txt добавить строку:
Код PHP:
  1. login
папку "modal" из архива залить в корень сайта.

файл module_auth.tpl отредактировать по своему усмотрению или как есть залить по адресу /templates/ваш_шаблон/modules/

в настройках модулей, настроить показ модуля авторизация (или создать дубликат модуля и настроить)
позиция для показа: login
шаблон для показа модуля: module_auth.tpl
доступ: гости
страницы для показа на ваш выбор.

далее там где нужно организовать по клику появление всплывающего окна с авторизацией в соответствующих файлах шаблонов (.tpl) расставить

Код PHP:
  1. <input type="button" value="Показать" class="m_button" data-type="zoomin" />
в файле /modal/style.css

настроить стили для класса

.m_button{

}

или не настраивать, будет выводиться стандартные стили.

Если на одной странице кнопка вызова окна с авторизации должна выглядеть так, а на другой странице иначе, в скрипте script.js

продублировать блок

Код PHP:
  1. $('.m_button').click(function() {
  2.  
  3. type = $(this).attr('data-type');
  4.  
  5. $('.m_overlay-container').fadeIn(function() {
  6.  
  7. window.setTimeout(function(){
  8. $('.m_window-container.'+type).addClass('m_window-container-visible');
  9. }, 100);
  10.  
  11. });
  12. });
задав другие имена классов,

Код PHP:
  1. $('.m_button_2').click(function() {
  2.  
  3. type = $(this).attr('data-type');
  4.  
  5. $('.m_overlay-container').fadeIn(function() {
  6.  
  7. window.setTimeout(function(){
  8. $('.m_window-container.'+type).addClass('m_window-container-visible');
  9. }, 100);
  10.  
  11. });
  12. });
и в файле style.css описать стили для нового класса m.button_2

Например у меня в одном месте вызов окна с авторизацией происходит по клику на простую кнопку "показать", в другом месте это клик по постеру , который в классе m_button_2 прописан как background
ну и т. д.

сам скрипт и стили /users/files/download5242.html
html5 плеер для аудио в BBcode редакторе (Первая ветка) | СМС регистрация на сайтах с InstantCMS (первая ветка)
Комментарии (1)
Luxin 10 мая 2015 в 22:49 +3
Хоть и не пользуюсь первой веткой, но плюсую.
Так держать Нил!