Создание сайтов давно перестало быть простым делом. Подумать только, для написания мало-мальски нормального сайта нужно знание HTML, CSS, PHP, SQL, java script, и это только самые популярные в своих нишах языки. Радует то, что веб-разработчики в целом, и разработчики Drupal в частности, не сидят на месте, и пытаются всячески упростить жизнь обыкновенных смертных. Сегодня мы поговорим о модуле Panels. Если модуль Views в основном служил для не напряжного составления SQL-запросов, и помогал наиболее комфортно представить их в нужном виде, то модуль Panels помогает расположить на странице (или в блоке) отдельные куски информации, без знаний CSS или HTML (Кстати, если не ошибаюсь у этих модулей один разработчик).
Для начала скачаем сам . Не так давно вышел первый стабильный релиз, поэтому спешим скачать) Для своей работы Panels требуют .
Итак, на операционном столе: Drupal 6.14, Ctools 6.1, Panels 6.3. Нужно установить модули: Chaos tools, Page manager, Mini panels, Panel nodes, Panels. Переходим на страницу «Your_sites/admin/build/panels», и наблюдаем такую картину:

Panel page — Добавить панель-страницу, то есть панель занимает целую страницу, при этом имеет свой путь и ссылку в меню. Так же в них можно передавать аргументы.
Panel node — Примерно то же самое что и Panel page, только слегка ограниченные. Панель встраивается в ноду.
Mini panel — Панель в виде блока.
Как я уже говорил, панели помогают располагать различную информацию на странице. Вставить туда можно многое, думаю лучше это будет показать на примере.
Давайте создадим Panel page и поиграемся с настройками.
Заходим на страницу «Home › Administer › Site building › Panels» и кликаем «Panel page».

И видим страницу с основными настройками:
Administrative title — имя страницы отображаемое для администратора. Я поставил «page».
Machine name — машинное имя, после сохранения, не изменяется. Я поставил «page».
Administrative description — описание панели, если делаете сайт навеселе, стоит заполнить. Не заполнял.
Path — путь по которому будет доступна эта страница. Поставил «page».
Make this your site home page — чекбокс, если выбран, то данная панель заменит главную страницу.
Optional features — дополнительные настройки панели, я отметил все:
Access control — выбираем кто может просматривать страницу.
Visible menu item — добавляем ссылку в меню.
Selection rules — можно задать разные варианты панели, для разных пользователей.
Contexts — если в двух словах, то contexts позволяет использовать в панеле дополнительные объекты. Например, если вы добавите contexts «Node add form», то сможете вставить в панель форму добавления нод, притом как полностью, так и отдельные ее куски.
Нажимаем «Continue», и попадаем на страницу «Access control» (если вы конечно отметили этот чекбокс на первой странице).

Можно определять доступность страницы 3 методами:
PHP Code — вбиваем свою проверку на PHP, если она вернет true, пользователь увидит страницу.
User: permission — если у пользователя есть разрешение на что-то (например на создание нод типа story), то ему будет доступна и эта страница.
User: role — можно выбрать роли которым будет доступна эта страница.
All criteria must pass - Пользователь получит доступ к странице, если удовлетворены все условия.
Only one criteria must pass - Пользователь получит доступ к странице, если удовлетворено хотя бы 1 условие.
Переходим далее.

На этой странице можно задать элемент меню для страницы, я выбрал Normal menu entry, Title: page, Menu: Navigation, то есть в меню Navigation, появится ссылка «Page», на страницу с панелью.
Далее идут настройки вариантов панели, то есть, все вышеперечисленное относилось к панели в целом, все что идет далее, будет заполняться для каждого варианта.
Страница «Selection rules» в точности такая же как и «Access control», только критерии показа задаются ни ко всей странице, а к вариантам.

на странице Contexts можно добавить разные объекты сайта для отображения. Я добавил « Node add form»

и Node (перед этим создав страницу, и запомнив ее id)

Страница «Choose layout», здесь нужно выбрать на сколько регионов будем разбивать страницу:

Крайне важное свойство, от которого зависит расположение элементов, я выбрал 2 колоночный вариант, и попал на последнюю страницу:

На которой и происходит наполнение панели информацией, жмем на шестеренку, должно отобразиться 2 пункта:
Add content — добавление содержимого,
Region style: Default — выбор стиля панели.
жмем Add content, и выбираем что же вставить в панель:

Все описывать не буду, т.к. Это долго и непродуктивно, да и в зависимости от ситуации, эта страничка может измениться. Например, в нашем случае, добавились 2 вкладки: Form, после добавления Contexts « Node add form», и Node, после добавления Contexts «Node». Да и лучше будет если вы сами попробуете разные варианты.
Посмотрите 2 последних пункта:
New custom content - позволяет добавить произвольное содержимое, то есть любой нужный вам текст.
Existing node — позволяет вставить существующую ноду.
Я добавил в первую вкладку тело существующей ноды, и блок «Who's online», а во вторую ноду целиком, и форму добавления ноды.

а так выглядит готовая страница (не забудьте сохранить результат):

Если вы справились с Panel page, остальное не должно вызвать у вас проблем.
Естественно, учитывая одного создателя, модули Views и Panels, отлично работают друг с другом (если честно, в основном я использовал Panels для того что бы быстро раскидать блоки Views), но об этом, и многом другом, мы поговорим в следующий раз.
Спасибо за внимание.

Комментарии
Все никак не дойду до Panels.
By kaveo (не проверено) on 09 Окт 2009 at about 06:17.Все никак не дойду до Panels. По всему видно — вещь нужная, особенно для корпоративных сайтов. Но сложно как-то все, не подступишься.
Как сказал кто-то из мудных
By RemaGe on 09 Окт 2009 at about 06:39.Как сказал кто-то из мудных "Начало — половина дела", Начнете разбираться, многие проблемы решаться сами, да и если разобрались со Views, например, проблем вообще не возникнет)
Спасибо, пост однозначно
By StoKKman (не проверено) on 09 Окт 2009 at about 18:08.Спасибо, пост однозначно полезный!
P.S. воткни адсенс что ли Поблагодарим! :)
Эх и попотел я, когда перешел
By Александр Стаховский (не проверено) on 09 Окт 2009 at about 21:59.Эх и попотел я, когда перешел с 5 Друпала и панелей для 5.
Это как переход с Майкрософт Оффиса 2003 на 2007, не знаешь, что и где искать.
Слава Богу, уже разобрался во всем, теперь другая проблема - пару проектов остались на 5-ке. (:
А скоро и семерка выйдет)
By RemaGe on 10 Окт 2009 at about 03:36.А скоро и семерка выйдет) Готовимся)
Самый полезный плагин для
By QoSyS (не проверено) on 11 Окт 2009 at about 20:15.Самый полезный плагин для создания "блочных" отображений, если я правильно
помню, то CCK fields умеет почти тоже самое, только отображение полей нужно задавать самому(в php-ввиде).
Как в Panels, в поле - New
By Eta Carinae (не проверено) on 26 Окт 2009 at about 10:09.Как в Panels, в поле - New custom content - Содержимое: - подключить wysiwyg редактор?
из readme panels TinyMCE,
By RemaGe on 26 Окт 2009 at about 12:29.из readme panels
TinyMCE, FCKEditor and other wysiwyg editors really blow up on Panels
content editing.
Cause:
The modal dialogs that Panels uses are very particular about javascript
and these editors are too much for them. Also, these editors get
cranky about complicated forms with several text areas.
Solution:
Disable these editors on all of your panels admin pages. The important
URLs are admin/panels/* and panels/ajax/*. More details instructions
may follow if someone familiar with these systems submits a patch at
the above drupal.org URL.
То есть, wysiwyg не поддерживаются