10. {Some}PageVariant получает на вход основной динамический контент и
превращает его в рендер-массив типа '#type' => 'page’. Ядро
поставляется с SimplePageVariant и BlockPageVariant. Один из
подвидов DisplayVariant.
11. Чтобы создать CustomPageVariant
• Отнаследоваться от VariantBase / BlockPageVariant
• Внести необходимые изменения в ::build()
• Подписаться на событие SELECT_PAGE_DISPLAY_VARIANT
См. пример реализации в
• /core/modules/system/tests/modules/display_variant_test
• http://cgit.drupalcode.org/context/tree/src/Plugin/DisplayVar
iant/ContextBlockPageVariant.php?h=8.x-0.x
13. 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
16. Display Variants для Page Manager
• HttpStatusCodeDisplayVariant
• PageBlockDisplayVariant
(не путать с PageVariantInterface)
• PanelsDisplayVariant
17. S
Sidebar First Main Content
1. DrupalblockPluginDisplayVariantBlockPageVariant (про который говорили вначале)
Block…
Block…
Block…
Block…
Block…
18. S
Sidebar First Main Content
1. DrupalblockPluginDisplayVariantBlockPageVariant (про который говорили вначале)
Top
Bottom
2. Drupalpage_managerPluginDisplayVariantPageBlockDisplayVariantBlock…
Block…
Block…
Block…
Block…
Block…
23. Page Manager
P A
EN
L S
• Концепция такая же как в семёрке
• Переписано с максимальным использованием
ядра восьмёрки
• Упрощённая функциональность
• Сырой интерфейс
• Пользоваться можно (после прослушивания
данного доклада)
Итого