Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Модули Webform block и модуль highslide. Модуль контактов в блоке.

28/11/2019, by Ivan

Этот урок устарел:

Используйте лучше модуль Colorbox node:

http://drupal.org/project/colorbox_node

В описание модуля написано как им пользоваться.

На этом уроке мы рассмотрим возможности создания в Друпале форм в блоках сайта. Для этого урока нам понадобятся модули WebformWebform blockContact form blocksContact (модуль Контакт входит в дистрибутив Друпала), а также мы попробуем сделать форму, которая появляется с красивым визуальным эффектом. Итак, приступим к настройке этих модулей. Начнем с того что мы создадим форму контактов. Зайдем в Конструкция сайта - Модули и включим модуль Contact.

drupal webform

Форма контактов доступна по адресу Имя_сайта/contact, Вы можете дописать contact в URL или зайти в редактирование формы контактов через меню администратора Конструкция сайта - Контакты.

Для начала нужно добавить категорию контактов. Ведь с сайта компании нужно присылать письма менеджерам, технической поддержки, директору, для каждого следует сделать свою категорию.

Drupal webform

Заполните все поля с e-mail и автоматическим ответом. Здесь также можно выбрать отображение этой категории по умолчанию, когда клиенты заходят на форму контактов, чтобы отправить письмо.

webform контакты

Теперь если мы зайдем на страницу имя_сайта/contact (для удобство ссылку на эту страницу можно вынести в меню), то сможем написать письмо:

Drupal webform в блоке

Теперь нужно настроить разрешения для модуля Contact, чтобы и другие пользователи Вашего сайта могли отправлять письма через эту форму. Заходим в Управление пользователями - Разрешения и поставим разрешения для зарегистрированных и незарегистрированных пользователей.

Drupal webform права доступа

Теперь письмо могут отправить и гости сайта.

Установим модуль Contact form blocks, для создания контактной формы в блоке.

Drupal webform в блоке установка

После установки модуля Contact Form Blocks, среди блоков должен появится блок с формой контактов.

Форма контактов

Можно разместить контактную форму в регион контента сайта, а можно создать дополнительный регион и разместить блок туда.

Webform

Давайте теперь поместим форму контактов в отдельный блок. Установим модуль Webform block, для него нам прийдется зацепить и модуль Webform.

Drupal webform включение модуля

Создадим новую форму контактов через модуль Webform.  О том как создавать веб-формы через Друпал webform Вы можете прочитать в прошлых уроках.

Drupal webform установка

Теперь благодаря модулю Webform form blocks у нас появилась возможность выносить форму в блок.

Drupal weboform в блоке

Сохраните конфигурацию, после этого в списке блоков появится блок с новой формой контактов.

Highslide

Мы научились выводить форму контактов в блок. Давайте теперь попробуем сделать вывод формы с визуальным эффектом поверх основного окна. Для этого можно использовать уже готовый модуль Highslide. Для его установки нужно установить модуль Imagecache и Image API. Прежде чем включить модуль нужно установить библеотеку highslide JS с сайта http://highslide.com/download.php  в папку highslide/highslide. Если Вы скачали библиотеку с примерами, то найдите среди файлов highslide.js копировать следует только его. Подойдет также файл highslide.min.js, но тогда перед копированием переименуйте файл в highslide.js

Если Вы откроете файл README.txt этого модуля то там будет инструкция по использованию модуля Highslide.

$options['attributes'] = array('class' => 'highslide-ajax-link');
$options['fragment'] = 'node-1';

Отсюда следует взять название класса, то каждая ссылка с классом highslide-ajax-link будут открывается с эффектом highslide. Также необходимо к пути ссылки прибавать id элемента страницы, который нужно отобразить.

Давайте добавим блок и запишем в него следующий текст:

<a href="<?php print base_path(); ?>
contact#contact-mail-page" class="highslide-ajax-link">Написать нам</a>

contact-mail-page - id формы контактов.

highslide-ajax-link - класс который нужен для того чтобы сработал модуль Highslide.

 Таким образом можно выводить любые ссылки, любые части страниц.