Рейтинг: 4 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда не активна
 

Скрытая форма и показ ее в modal

Ранее я писал здесь о том, как сделать, чтобы картинка в статье Joomla открывалась во всплывающем окне при нажатии на нее. Сегодня я покажу, как можно делать скрытые блоки (div) на сайте и отображать их в модальных окнах, используя тот же behavior.modal или boostrap в контенте Joomla. На самом деле вы можете отображать таким способом любой элемент во всплывающем фрейме, но в данном случае вам нужно создать и отобразить элемент, который не видно в теле вашей статьи. Суть та же, что и при отображении картинки. Однако разница есть: допустим, вы хотите создать форму обратной связи прямо в статье или картинку с описанием, но вам лениво писать соответствующий плагин или модуль к Joomla. Вам будет куда проще быстренько сверстать форму, поместить ее в <div>, который не будет виден пользователям (display:none;) и, при необходимости, его показать (когда пользователь нажимает на ссылку). Сейчас мы рассмотрим пример:

 

Для начала нам понадобится скрытый контент:

<div style="display: none;">
<div id="test">
<h1 style="text-align: center;">Заголовок....</h1>
<p style="text-align: center;">Какой-то ваш текст. Пишите тут, что хотите и размещаете тоже</p>
<p><img style="display: block; margin: 0 auto;" src="/images/test.jpg" alt="" width="200" height="200" /></p>
<a href="/" class="btn">Можно и другие элементы</a>
</div>
</div>

Ну и осталось добавить саму ссылку на этот контент, которая откроет нам модальное окно с волшебным содержимым:

<a class="modal" href="#test">Показать окошко</a>

 

Заголовок....

Какой-то ваш текст. Пишите тут, что хотите и размещаете тоже

Можно и другие элементы

Показать окошко

Теперь рассмотрим вариант с бутстрапом. Нам необходимо, чтобы были подключены стили и библиотека bootstrap. Если вы пользуютесь стандартным шаблоном joomla 3 - protostar, то все необходимые библиотеки будут уже подключены. В противном же случае нужно вручную подключить необходимые компоненты, скопировав их в ваш шаблон и подключив в head часть вашего шаблона. Или проще воспользоваться  

JHtml::_('bootstrap.framework');
JHtml::_('bootstrap.loadCss', true, $this->direction);

Ну и затем нужно так же создать содержимое всплывающего окна и кнопку вызова:

<!-- Button trigger modal -->
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
  Вызвать окошко
</button>

<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="Название окошка" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="myModalLabel">Modal title</h4>
      </div>
      <div class="modal-body">
        Ты ж программист, вот и размести сам тут контент :)
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Закрыть</button>
        <button type="button" class="btn btn-primary">Что-то сделать..</button>
      </div>
    </div>
  </div>
</div>

Как-то так.

 

 

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

У вас недостаточно прав для того чтобы тут гадить.