Download - Panels and Page Manager в Drupal 8
![Page 1: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/1.jpg)
Panels & Page Manager in Drupal 8
Катя Маршалкина
![Page 2: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/2.jpg)
> Катя Маршалкина> Drupal-разработчик
Уровень: два дрисаГород: уточняется…
https://www.drupal.org/u/kalabro [email protected] Twitter: @kalabro
![Page 3: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/3.jpg)
API для работы со страницей в ядре.Взгляд разработчика.
![Page 4: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/4.jpg)
https://www.drupal.org/developing/api/8/render/pipeline
![Page 5: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/5.jpg)
![Page 6: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/6.jpg)
![Page 7: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/7.jpg)
![Page 8: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/8.jpg)
![Page 9: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/9.jpg)
PageVariantInterfaceУбийца hook_page_build / hook_page_alter
https://www.drupal.org/node/2357755
![Page 10: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/10.jpg)
{Some}PageVariant получает на вход основной динамический контент и превращает его в рендер-массив типа '#type' => 'page’. Ядро поставляется с SimplePageVariant и BlockPageVariant. Один из подвидов DisplayVariant.
![Page 11: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/11.jpg)
Чтобы создать CustomPageVariant• Отнаследоваться от VariantBase / BlockPageVariant• Внести необходимые изменения в ::build()• Подписаться на событие SELECT_PAGE_DISPLAY_VARIANT
См. пример реализации в • /core/modules/system/tests/modules/display_variant_test• http://cgit.drupalcode.org/context/tree/src/Plugin/
DisplayVariant/ContextBlockPageVariant.php?h=8.x-0.x
![Page 12: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/12.jpg)
Блоки. Снова в моде.
![Page 13: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/13.jpg)
The Block System is Finally Useful in Drupal 8.“ https://drupalize.me/blog/201403/block-system-finally-useful-drupal-8
• Удобное Block Plugin API• Есть alter-хуки• Переработанный UI• Переиспользуемые• Экспортируемые• Работает с регионами темы• Слабое место: настройки Visibility
![Page 14: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/14.jpg)
Page ManagerЗависимости: Ctools, Blocks
![Page 15: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/15.jpg)
![Page 16: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/16.jpg)
Display Variants для Page Manager
• HttpStatusCodeDisplayVariant
• PageBlockDisplayVariant
(не путать с PageVariantInterface)• PanelsDisplayVariant
![Page 17: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/17.jpg)
S
Sidebar First Main Content
1. \Drupal\block\Plugin\DisplayVariant\BlockPageVariant (про который говорили вначале)
Block…
Block…
Block…
Block…
Block…
![Page 18: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/18.jpg)
S
Sidebar First Main Content
1. \Drupal\block\Plugin\DisplayVariant\BlockPageVariant (про который говорили вначале)
Top
Bottom
2. \Drupal\page_manager\Plugin\DisplayVariant\PageBlockDisplayVariantBlock…
Block…
Block…
Block…
Block…Block…
![Page 19: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/19.jpg)
PanelsЗависимости: Ctools, Layout Plugin
![Page 20: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/20.jpg)
Что случилось с Panels
• Content Panes → Core Blocks• Custom Layout Repository→ General Layout Plugin
support (https://www.drupal.org/project/layout_plugin)
• Built-in layouts → Radix Layouts, Bootstrap Layouts (https://www.drupal.org/project/radix_layouts, https://www.drupal.org/project/bootstrap_layouts)
![Page 21: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/21.jpg)
Radix Layouts
![Page 22: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/22.jpg)
Current mood: почти нет настроек, но работает.
![Page 23: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/23.jpg)
Routes
Blocks
Contexts
Conditions
Display Variant
Interface
Configs
Page Manager
ctools
P A
EN
L S
• Концепция такая же как в семёрке• Переписано с максимальным
использованием ядра восьмёрки• Упрощённая функциональность• Сырой интерфейс• Пользоваться можно (после
прослушивания данного доклада)
Итого
![Page 24: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/24.jpg)
Ссылки
• Render Pipeline http://wimleers.com/talk/drupal-8-render-pipeline
• Panels and Page Manager in Drupal 8 https://pantheon.io/drupal-8/panels-and-page-manager
• Оффтоп: Display Suitehttps://www.drupal.org/project/ds
![Page 25: Panels and Page Manager в Drupal 8](https://reader036.vdocuments.net/reader036/viewer/2022081513/58708f801a28ab412b8b52b9/html5/thumbnails/25.jpg)
Золотой спонсор:
Спасибо!
При поддержке:
Серебряный спонсор:
Зовите на конференцию@kalabro
Читайте Drupal-дайджестhttp://habrahabr.ru/post/271445/