Блог Vaden Pro

Все о самостоятельном создании и продвижении сайтов

Группировка полей модулем FieldGroup в Drupal 7

Раздел: 

Модуль field group для drupal 7

Field Group- модуль, входящий в состав CCK, с помощью которого, как понятно из названия, можно объединять поля в определённые группы. Группы можно создавать не только на страницах создания или редактирования материала, а также и на страницах его отображения.

Установка и настройка модуля

Для того, что бы скачать модуль вы можете воспользоваться ссылкой, а как его правильно установить можно узнать из соответствующей статьи у нас на блоге. Далее, если не установлены, стоит установить необходимые для его работы модули, а именно Field, Field SQL storage , Chaos tools.

После установки всех модулей активируем field group в разделле /admin/modules.

Включаем модуль

Добавление полей

Для начала создадим все необходимые нам поля. Переходим «Структура» раздел «Тип материалов», выбираем необходимый нам тип материала, в качестве жертвы для своего случая я выберу тип под названием «Article» и переходим по ссылке «Управление полями».

Добавим поля: «Цвет», «Размер», «Длина шнура», «Размеры порта», а также Мета поля, для ключевых слов, и для описания страницы. Наш модуль на данном этапе не как не влияет на нашу работу, по этому настраиваем поля как обычно.

Общий вид полей

Группировка полей на странице создания/редактирования материала

Теперь, когда наши поля готовы, создадим для них группы.

Поля «Цвет» и «Размер» поместим в одну группу и назовём её «Визуальные характеристики».

Но для начала нам необходимо эту группу создать. Её создание не сильно отличается от создания поля, а форма находиться сразу под формой добавления существующего поля.

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

Форма добавление группы

После чего у нас появиться новое поле, у которого, для выделения, название написано жирным шрифтом.

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

Поле группы

Дополнительные настройки

Field group label- поля в котором мы можем изменить/задать метку нашей группы

Fieldgroup settings — в выплывающем списке можно выбрать один из вариантов отображения группы по умолчанию, при чём количество и типы отображения изменяются в зависимости от выбранного виджета. О их различиях мы поговорим вместе с виджетами.

Описание — текстовая область, в которой мы можем написать своё описание группы.

Extra CSS classes — поля в котором мы можем добавим свои классы для более удобного наложения стилей.

Дополнительные настройки группы

Теперь пришло время поместить в нашу группу поля, для начала поставим группу в необходимое место, для этого просто перетащим его схватившись курсором мыши за значок слева от метки.

Затем тем-же способом поместим поля внутрь группы.

Задаём иерархию полей

И нажимаем сохранить.

Затем по аналогии создаём группу для других полей. В своём случае для полей «Длина шнура» и «Размеры порта», я создам группу «Технические характеристики», а для мета полей группу «Мета».

В общей сложности у нас получилось 3 группы полей. Для наглядности поставим изначально для всех трёх один виджет «Fieldset», а в дополнительных настройках «Fieldgroup settings» выберем разные варианты отображения. Для группы «Визуальные характеристики» выберем тип «open», для «Технические характеристики» «collapsible», а для «Мета» «collapsed».

Теперь переходим в раздел добавления типа материала.

Внутри формы создания типа материала мы видим группы, которые также по разному отображаются, в зависимости от выбранного нами типа в настройках «Fieldgroup settings».

Вид групп

Группировка полей на странице отображения материала

Теперь рассмотрим возможность создание групп для полей не на страницах создание/редактирования, а непосредственно на самой странице материала. Для этого нам стоит перейти в раздел «Структура» «Тип материал» наш материал, «Управление отображением».

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

Создаём группы в разделе отображения

Не забываем сохранить наши настройки и создадим сразу тип материала, что бы увидеть, что у нас получилось.

Страница материала с группами

Виджеты

На виджетах которые предоставляет данный модуль для вывода стоит остановится подробнее.

Первый виджет Fildset — пример его использование мы рассмотрели выше при создании групп. Вкратце он объединяет поля в блоки, которые, в зависимости от настройки, могут быть всегда открыты «open», открыты, но с возможностью закрытия «collapsible», и закрытые с возможностью открытия «collapsed»

HTML-элементы — создаёт обёртку для группы полей и для каждого поля. В настройках мы можем тип обёртки для группы и для лейбла , которой может выступать div, section, aside и другие, атрибут для поля и выставить отображение метки.

настройка виджета HTML элементы

На практике выглядит следующим образом

Вид группы виджета html-элементы

Он полностью зависит от оформления его CSS.

Div — создаёт обёртку для полей из div. В настройках мы может выбрать тип отображение из «open», «collapsible», «collapsed» различия между которыми нам известны по виджету Fildset, отображение метки, скорость срабатывания эффекта и сам эффект, также кроме классов можно добавить свои id.

Настройки виджета div

И выглядит это

Внешний вид виджета Div

HTML5 — оборачивает группу в структурные секции, с которыми можно более детально познакомится прочитав нашу статью посвященную формированию структуры страницы на HTML5. В настройках мы можем выбрать из списка, во что мы хотим обернуть нашу группу.

Настройки виджета HTML

А при выводе на странице разницу мы увидим лишь взглянув на код элемента.

Внешний вид HTML5 для модуля

Vertical tab — создаём вертикальное меню, с переходом между полями. Для того, что бы всё корректно отображалось и работало необходимо создать общую группу с виджетом «Vertical tab group» и в него поместить наши группы с Vertical tab.

Если всё сделали, как написано выше, то у вас получиться что то похожее на:

Вид vertical tab

Horizontal tab item — работает и настраивается также как и «Vertical tab», а отличается только расположением кнопок перехода.

Горизонтальная

Accordion item — также требует создание общей группы с виджетом accordion group. Однако в этом случае мы можем, в настройках группы, выбрать эффект «выезжанием» формы.

Настройки acord

При выборе и настройки этого виджета у нас получится:

вид accord

Обратим внимание что внутри общей группы должны находиться только относящиеся к ней виджеты группы. Например если группа имеет виджет accordion group то группы которые мы поместим внутри должны быть только Accordion item в противном случае наша группировка будет работать не корректно а Drupal начнёт «ругаться»:

Ошибка