Реализация формы обратной связи во всплывающем окнеИспользуем:- CSS
- simpleForm2
- Modules Anywhere
Заранее скажу, что многие посчитают что не интересно устанавливать дополнительный модули и плагины, НО, оба эти дополнения полезны и не помешают никому, тот же simpleForm2 в любом случаи понадобится, а Modules Anywhere очень полезен для гибкой настройки модулей на странице..
Последовность действий:1. Для начала нам нужно сделать так что бы можно было показывать информацию во всплывающем окне без плагинов..
Приведенный ниже код вставляем в модуль HTML текст и публикуем куда нибуть на сайте, данный текст будет в виде кнопки.
<p><a href="#openModal" target="" class="btn btn-primary report-button">Название кнопки</a></p>
<div id="openModal" class="modalDialog">
<div>
<a href="#close" class="right-position" title="Закрыть"><img src="images/system/close.png"></a></p>
<h2 style="text-align: center;">Заголовок</h2>
<p> </p>
<p>Текст вместо которого мы потом вставим форму обратной связи</p>
<p> </p>
<p> </p>
</div>
</div>
В папку закидываем изображение для кнопки закрытия окна, по вкусу но размер должен быть где то 25x25px с расщирением .png
images/system/close.png2. Далее подключаем стили CSS для окна и кнопки вызова этого самого окна.
В файл
custom.css вставляем стили:
/* Стили модального окна
----------------------------------------------------------------------------------------------------*/
.modalDialog {
position: fixed;
font-family: Arial, Helvetica, sans-serif;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(0, 0, 0, 0.47);
z-index: 99999;
opacity:0;
-webkit-transition: opacity 400ms ease-in;
-moz-transition: opacity 400ms ease-in;
transition: opacity 400ms ease-in;
pointer-events: none;
}
.modalDialog:target {
opacity:1;
pointer-events: auto;
}
.modalDialog > div {
width: 500px;
position: relative;
margin: 2% auto;
padding: 25px 50px 25px 50px;
border-radius: 3px;
background: #fff;
}
.close-dailog {
padding-left: 50%;
font-size: 20px;
font-weight: bold;
line-height: 20px;
color: #000;
text-shadow: 0 1px 0 #ffffff;
opacity: 0.2;
}
.close-dialog-button {
margin-left: 175px;
color: #fff;
background-color: #016da9;
border: 1px solid #016da9;
font-size: 16px;
padding: 8px 40px;
cursor: pointer;
}
.open-dialog-button {
vertical-align: 0;
color: #0070FF;
font-size: 13px;
display: inline-block;
}
.open-dialog-botton-blue {
margin-top: 6px;
color: #fff;
background-color: #008CDA;
border: 1px solid #008CDA;
padding: 3px 9px;
cursor: pointer;
}
.open-dialog-text-botton {
color: #797979;
}
/* Конец стилей модального окна
----------------------------------------------------------------------------------------------------*/
Теперь модуль с HTML текстом будет отображен как кнопка при нажатии которой будет показано модальное окно.
3. Устанавливаем плагин
Modules Anywhere который даст возможность вставлять модули в материал.
4. Теперь устанавливаем
simpleForm2 при помощи которого и создадим ту самую форму обратной связи.
5. Создаем в менеджере модулей модуль
simpleForm2, и настраиваем его.
6. Заходим в модуль с HTML кодом который мы создали ранее, находим под визуальным редактором кнопку
Insert Module, нажимаем и выбираем модуль simpleForm2. В материале появится шорт код
{module simpleForm2} и вместо "Текст вместо которого мы потом вставим форму обратной связи" вставляем данный код.
Готово, теперь форма будет появлятся в модальном окне при нажатии кнопки.
P.S. CSS нашел в интернете, вот уж не помню где, но автор молодец..