panels and page manager в drupal 8

Post on 16-Apr-2017

725 Views

Category:

Software

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Panels & Page Manager in Drupal 8

Катя Маршалкина

> Катя Маршалкина> Drupal-разработчик

Уровень: два дрисаГород: уточняется…

https://www.drupal.org/u/kalabro marshalkina@gmail.com Twitter: @kalabro

API для работы со страницей в ядре.Взгляд разработчика.

https://www.drupal.org/developing/api/8/render/pipeline 

PageVariantInterfaceУбийца hook_page_build / hook_page_alter

https://www.drupal.org/node/2357755

{Some}PageVariant получает на вход основной динамический контент и превращает его в рендер-массив типа '#type' => 'page’. Ядро поставляется с SimplePageVariant и BlockPageVariant. Один из подвидов DisplayVariant.

Чтобы создать 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

Блоки. Снова в моде.

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 ManagerЗависимости: Ctools, Blocks

Display Variants для Page Manager

• HttpStatusCodeDisplayVariant

• PageBlockDisplayVariant

(не путать с PageVariantInterface)• PanelsDisplayVariant

S

Sidebar First Main Content

1. \Drupal\block\Plugin\DisplayVariant\BlockPageVariant (про который говорили вначале)

Block…

Block…

Block…

Block…

Block…

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…

PanelsЗависимости: Ctools, Layout Plugin

Что случилось с 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)

Radix Layouts

Current mood: почти нет настроек, но работает.

Routes

Blocks

Contexts

Conditions

Display Variant

Interface

Configs

Page Manager

ctools

P A

EN

L S

• Концепция такая же как в семёрке• Переписано с максимальным

использованием ядра восьмёрки• Упрощённая функциональность• Сырой интерфейс• Пользоваться можно (после

прослушивания данного доклада)

Итого

Ссылки

• 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

Золотой спонсор:

Спасибо!

При поддержке:

Серебряный спонсор:

Зовите на конференцию@kalabro

marshalkina@gmail.com

Читайте Drupal-дайджестhttp://habrahabr.ru/post/271445/

top related