Как модуль Drupal Panels экономит наше время

автор админ

7 Янв 2013

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

Что такое веб-страница в контексте Drupal? Это HTML-код, который прошел через серию вызовов хуков (Hooks) и препроцессоров (Preprocess functions). Структура страницы включает:

  • Регионы (Regions)
  • Блоки (Blocks)
  • Ноды (Nodes)
  • Меню (Menus)
  • Другой контент

Те, кто активно использует Drupal в работе, ноды и блоки знают прекрасно. При помощи нод, например, можно легко создать страницу с любым контентом. Это самый простой пример использования нод. На самом деле, ноды — гораздо более гибкий инструмент, который позволяет решать задачи разного уровня сложности.

Блок — это небольшой участок контента, который располагается в заранее определенных темой регионах. Для управления блоками нужно перейти на страницу «Управление сайтом» — «Конструкция» — «Блоки» (Administer/Site building/Blocks). В данном интерфейсе предоставляется возможность для добавления блоков, настройки размещения и доступности. Блоки можно объявлять и программно — через hook_block().

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

Если бы у вас была необходимость создать страницу через стандартную ноду типа «Page», вам бы пришлось в теле ноды определить HTML-код, который должен отобразиться и как минимум определить классы для каких либо разделов, если создаваемая вами страница на них подразделяется. Или нужно было определить кастомный шаблон (Сustom Template) для этого типа контента — операция более трудозатратная.

В случае применения Panels, мы просто используем визуальный редактор для проектирования нашей страницы, а так же инструменты для добавления различного контента. Помимо всего прочего, также настраиваются параметры доступа к странице, путь по которому она будет доступна и параметры меню. Следует отметить, что Panels интегрируется с другими полезными модулями, например Views и CCK, тем самым позволяя нам очень просто использовать вывод модуля «Views» в различных областях нашей страницы.

Для наглядности создадим простую страницу:

1. Идем в Admin/Build/Panels/Dashboard.

2. Выбираем пункт «Panel Page» и на следующей странице заполняем поля «Administrative Title», «Machine Name» и «Path».

3. Выбираем шаблон для страницы.

4. Далее нужно заполнить «CSS ID» и другие обязательные поля и нажать «Продолжить».

5. Теперь мы можем добавить контент в блоки. Для этого нажимаем на «Настройки» (иконка шестеренки в левом верхнем углу блока).

Добавляем контент:

1. Для добавления контента жмем на иконку шестеренки и выбираем пункт «Add Content». Над всеми объектами внутри регионов доступна операция drag-n-drop, позволяющая нам менять порядок блоков.

2. Во всплывающем окне выбираем тип контента и нажимаем OK.

3. Далее, если вы выбрали «Сustom Сontent», вы можете продолжить редактирование содержимого, а также изменить заголовки. В случае выбора типа содержимого Views вы можете задать переопределение заголовков и дополнительных параметров, относящихся к модулю Views.

4. После редактирования контента сохраняем изменения.

Данный пример очень прост, и не раскрывает всех возможностей модуля Panels, зато отлично демонстрирует, насколько это более удобный и гибкий механизм создания страниц. Используя его графический интерфейс, мы можем спроектировать необходимый нам шаблон, не тратя время на написание HTML-кода и CSS-стилей для реализации необходимой структуры. В паре с модулем Views Panels открывает еще большие возможности и позволяет ускорить процесс разработки.
Сегодня я не стал рассматривать использование node Panels и mini Panels, которые раскрывают дополнительные возможности модуля Panels. О них — в следующих статьях.
  • 0 Репосты

Комментарии

Фильтр

Закрыть

Технологии

Индустрии