SlideShare a Scribd company logo
1 of 25
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/DisplayVar
iant/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. DrupalblockPluginDisplayVariantBlockPageVariant (про который говорили вначале)
Block…
Block…
Block…
Block…
Block…
S
Sidebar First Main Content
1. DrupalblockPluginDisplayVariantBlockPageVariant (про который говорили вначале)
Top
Bottom
2. Drupalpage_managerPluginDisplayVariantPageBlockDisplayVariantBlock…
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: почти нет настроек, но работает.
Page Manager
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 Suite
https://www.drupal.org/project/ds
Золотой
спонсор:
Спасибо!
При поддержке: Серебряный спонсор:
Зовите на конференцию
@kalabro
marshalkina@gmail.com
Читайте Drupal-дайджест
http://habrahabr.ru/post/271445/

More Related Content

Viewers also liked

Константин Осипенко - Аутсорс услуг тестирования - реальность или вымысел?
Константин Осипенко - Аутсорс услуг тестирования - реальность или вымысел?Константин Осипенко - Аутсорс услуг тестирования - реальность или вымысел?
Константин Осипенко - Аутсорс услуг тестирования - реальность или вымысел?DrupalSib
 
Anton Shloma. Drupal as an integration platform
Anton Shloma. Drupal as an integration platformAnton Shloma. Drupal as an integration platform
Anton Shloma. Drupal as an integration platformDrupalSib
 
Ирина Архипец - Система ВКС OpenMeetings, возможности партнёрства
Ирина Архипец - Система ВКС OpenMeetings, возможности партнёрства Ирина Архипец - Система ВКС OpenMeetings, возможности партнёрства
Ирина Архипец - Система ВКС OpenMeetings, возможности партнёрства DrupalSib
 
Сергей Синица. Разработка интернет-магазинов на Drupal
Сергей Синица. Разработка интернет-магазинов на DrupalСергей Синица. Разработка интернет-магазинов на Drupal
Сергей Синица. Разработка интернет-магазинов на DrupalDrupalSib
 
Руслан Исай - Проповедуем Drupal разработку
Руслан Исай - Проповедуем Drupal разработку Руслан Исай - Проповедуем Drupal разработку
Руслан Исай - Проповедуем Drupal разработку DrupalSib
 
Михаил Крайнюк - Form API + Drupal 8: Form and AJAX
Михаил Крайнюк - Form API + Drupal 8: Form and AJAXМихаил Крайнюк - Form API + Drupal 8: Form and AJAX
Михаил Крайнюк - Form API + Drupal 8: Form and AJAXDrupalSib
 

Viewers also liked (7)

Константин Осипенко - Аутсорс услуг тестирования - реальность или вымысел?
Константин Осипенко - Аутсорс услуг тестирования - реальность или вымысел?Константин Осипенко - Аутсорс услуг тестирования - реальность или вымысел?
Константин Осипенко - Аутсорс услуг тестирования - реальность или вымысел?
 
Anton Shloma. Drupal as an integration platform
Anton Shloma. Drupal as an integration platformAnton Shloma. Drupal as an integration platform
Anton Shloma. Drupal as an integration platform
 
Ирина Архипец - Система ВКС OpenMeetings, возможности партнёрства
Ирина Архипец - Система ВКС OpenMeetings, возможности партнёрства Ирина Архипец - Система ВКС OpenMeetings, возможности партнёрства
Ирина Архипец - Система ВКС OpenMeetings, возможности партнёрства
 
Сергей Синица. Разработка интернет-магазинов на Drupal
Сергей Синица. Разработка интернет-магазинов на DrupalСергей Синица. Разработка интернет-магазинов на Drupal
Сергей Синица. Разработка интернет-магазинов на Drupal
 
Руслан Исай - Проповедуем Drupal разработку
Руслан Исай - Проповедуем Drupal разработку Руслан Исай - Проповедуем Drupal разработку
Руслан Исай - Проповедуем Drupal разработку
 
Михаил Крайнюк - Form API + Drupal 8: Form and AJAX
Михаил Крайнюк - Form API + Drupal 8: Form and AJAXМихаил Крайнюк - Form API + Drupal 8: Form and AJAX
Михаил Крайнюк - Form API + Drupal 8: Form and AJAX
 
Molina Healthcare
Molina HealthcareMolina Healthcare
Molina Healthcare
 

Similar to Екатерина Маршалкина - Panels & Page manager in Drupal 8

Антон Валюх - Использование паттерна Mvvm в android
Антон Валюх - Использование паттерна Mvvm в androidАнтон Валюх - Использование паттерна Mvvm в android
Антон Валюх - Использование паттерна Mvvm в androidDataArt
 
Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Yandex
 
Эффективное управление содержимым веб-сайтов
Эффективное управление содержимым веб-сайтовЭффективное управление содержимым веб-сайтов
Эффективное управление содержимым веб-сайтовDrupal Camp Kyiv
 
"Адаптивный дизайн интерфейса JS API Яндекс.Карт и особенности его реализации...
"Адаптивный дизайн интерфейса JS API Яндекс.Карт и особенности его реализации..."Адаптивный дизайн интерфейса JS API Яндекс.Карт и особенности его реализации...
"Адаптивный дизайн интерфейса JS API Яндекс.Карт и особенности его реализации...Yandex
 
PureMVC в картинках - часть 1
PureMVC в картинках - часть 1PureMVC в картинках - часть 1
PureMVC в картинках - часть 1Rostyslav Siryk
 
Корпоративное приложение на Rails
Корпоративное приложение на RailsКорпоративное приложение на Rails
Корпоративное приложение на RailsAndrei Kaleshka
 
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...Ontico
 
Therenderapi 120913041852-phpapp02
Therenderapi 120913041852-phpapp02Therenderapi 120913041852-phpapp02
Therenderapi 120913041852-phpapp02Victoria Sultanovska
 
Создаем Drupal дистрибутив: от идеи до сопровождения.
Создаем Drupal дистрибутив: от идеи до сопровождения.Создаем Drupal дистрибутив: от идеи до сопровождения.
Создаем Drupal дистрибутив: от идеи до сопровождения.DrupalForumZP2012
 
Batch processing in rails
Batch processing in railsBatch processing in rails
Batch processing in railssergeymoiseev
 
Enterprise flex pure mvc, slides, russian
Enterprise flex pure mvc, slides, russianEnterprise flex pure mvc, slides, russian
Enterprise flex pure mvc, slides, russianSergiy Shychynov
 
C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.Igor Shkulipa
 
Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Yandex
 
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...JSib
 

Similar to Екатерина Маршалкина - Panels & Page manager in Drupal 8 (18)

Антон Валюх - Использование паттерна Mvvm в android
Антон Валюх - Использование паттерна Mvvm в androidАнтон Валюх - Использование паттерна Mvvm в android
Антон Валюх - Использование паттерна Mvvm в android
 
Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"
 
Dc P
Dc PDc P
Dc P
 
Эффективное управление содержимым веб-сайтов
Эффективное управление содержимым веб-сайтовЭффективное управление содержимым веб-сайтов
Эффективное управление содержимым веб-сайтов
 
"Адаптивный дизайн интерфейса JS API Яндекс.Карт и особенности его реализации...
"Адаптивный дизайн интерфейса JS API Яндекс.Карт и особенности его реализации..."Адаптивный дизайн интерфейса JS API Яндекс.Карт и особенности его реализации...
"Адаптивный дизайн интерфейса JS API Яндекс.Карт и особенности его реализации...
 
The render api
The render apiThe render api
The render api
 
PureMVC в картинках - часть 1
PureMVC в картинках - часть 1PureMVC в картинках - часть 1
PureMVC в картинках - часть 1
 
Ruby gui
Ruby guiRuby gui
Ruby gui
 
Корпоративное приложение на Rails
Корпоративное приложение на RailsКорпоративное приложение на Rails
Корпоративное приложение на Rails
 
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
 
Therenderapi 120913041852-phpapp02
Therenderapi 120913041852-phpapp02Therenderapi 120913041852-phpapp02
Therenderapi 120913041852-phpapp02
 
Создаем Drupal дистрибутив: от идеи до сопровождения.
Создаем Drupal дистрибутив: от идеи до сопровождения.Создаем Drupal дистрибутив: от идеи до сопровождения.
Создаем Drupal дистрибутив: от идеи до сопровождения.
 
Batch processing in rails
Batch processing in railsBatch processing in rails
Batch processing in rails
 
Enterprise flex pure mvc, slides, russian
Enterprise flex pure mvc, slides, russianEnterprise flex pure mvc, slides, russian
Enterprise flex pure mvc, slides, russian
 
C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.
 
Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"
 
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
 
Yulia tsuba
Yulia tsubaYulia tsuba
Yulia tsuba
 

More from DrupalSib

SSO авторизация - Татьяна Киселева, DrupalJedi
SSO авторизация - Татьяна Киселева, DrupalJediSSO авторизация - Татьяна Киселева, DrupalJedi
SSO авторизация - Татьяна Киселева, DrupalJediDrupalSib
 
XML в крупных размерах - Михаил Крайнюк, DrupalJedi
XML в крупных размерах - Михаил Крайнюк, DrupalJediXML в крупных размерах - Михаил Крайнюк, DrupalJedi
XML в крупных размерах - Михаил Крайнюк, DrupalJediDrupalSib
 
BigPipe: ускоряем загрузку страниц - Давид Пашаев, DrupalJedi
BigPipe: ускоряем загрузку страниц - Давид Пашаев, DrupalJediBigPipe: ускоряем загрузку страниц - Давид Пашаев, DrupalJedi
BigPipe: ускоряем загрузку страниц - Давид Пашаев, DrupalJediDrupalSib
 
Drupal в школе - Борис Шрайнер
Drupal в школе - Борис ШрайнерDrupal в школе - Борис Шрайнер
Drupal в школе - Борис ШрайнерDrupalSib
 
Евгений Юдкин - Коммуникационные инструменты в отделе продаж на примере интег...
Евгений Юдкин - Коммуникационные инструменты в отделе продаж на примере интег...Евгений Юдкин - Коммуникационные инструменты в отделе продаж на примере интег...
Евгений Юдкин - Коммуникационные инструменты в отделе продаж на примере интег...DrupalSib
 
D8 - Serialize, Normalize - Михаил Крайнюк, DrupalJedi
D8 - Serialize, Normalize - Михаил Крайнюк, DrupalJediD8 - Serialize, Normalize - Михаил Крайнюк, DrupalJedi
D8 - Serialize, Normalize - Михаил Крайнюк, DrupalJediDrupalSib
 
Drupal - создание инсталляционных профайлов - Иван Абраменко, CimpleO
Drupal - создание инсталляционных профайлов - Иван Абраменко, CimpleODrupal - создание инсталляционных профайлов - Иван Абраменко, CimpleO
Drupal - создание инсталляционных профайлов - Иван Абраменко, CimpleODrupalSib
 
Вадим Валуев - Искусство ИТ
Вадим Валуев - Искусство ИТВадим Валуев - Искусство ИТ
Вадим Валуев - Искусство ИТDrupalSib
 
Андрей Юртаев - Mastering Views
Андрей Юртаев - Mastering ViewsАндрей Юртаев - Mastering Views
Андрей Юртаев - Mastering ViewsDrupalSib
 
Migrate drupal 6 to drupal 8. Абраменко Иван
Migrate drupal 6 to drupal 8.  Абраменко ИванMigrate drupal 6 to drupal 8.  Абраменко Иван
Migrate drupal 6 to drupal 8. Абраменко ИванDrupalSib
 
Entity возрождение легенды. Исай Руслан
Entity возрождение легенды. Исай РусланEntity возрождение легенды. Исай Руслан
Entity возрождение легенды. Исай РусланDrupalSib
 
возводим динамическую таблицу, No views, no problem. Крайнюк Михаил
возводим динамическую таблицу, No views, no problem. Крайнюк Михаилвозводим динамическую таблицу, No views, no problem. Крайнюк Михаил
возводим динамическую таблицу, No views, no problem. Крайнюк МихаилDrupalSib
 
Реализация “гибких” списков Жамбалова Намжилма
Реализация “гибких” списков Жамбалова Намжилма Реализация “гибких” списков Жамбалова Намжилма
Реализация “гибких” списков Жамбалова Намжилма DrupalSib
 
Петр Селфин. Шок! Drupal 8 против SEO?! Без регистрации и SMS скачать бесплатно
Петр Селфин. Шок! Drupal 8 против SEO?! Без регистрации и SMS скачать бесплатноПетр Селфин. Шок! Drupal 8 против SEO?! Без регистрации и SMS скачать бесплатно
Петр Селфин. Шок! Drupal 8 против SEO?! Без регистрации и SMS скачать бесплатноDrupalSib
 
Eugene Ilyin. Why Drupal is cool?
Eugene Ilyin. Why Drupal is cool?Eugene Ilyin. Why Drupal is cool?
Eugene Ilyin. Why Drupal is cool?DrupalSib
 
Ivan Kotlyar. PostgreSQL in web applications
Ivan Kotlyar. PostgreSQL in web applicationsIvan Kotlyar. PostgreSQL in web applications
Ivan Kotlyar. PostgreSQL in web applicationsDrupalSib
 
Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.
Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.
Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.DrupalSib
 
Сергей Черебедов - Integration Drupal with NodeJS. What is it and why You nee...
Сергей Черебедов - Integration Drupal with NodeJS. What is it and why You nee...Сергей Черебедов - Integration Drupal with NodeJS. What is it and why You nee...
Сергей Черебедов - Integration Drupal with NodeJS. What is it and why You nee...DrupalSib
 
Ринат Ибрагимов - Региональное SEO: продвижение сайтов, созданных на  Drupal
Ринат Ибрагимов - Региональное SEO: продвижение сайтов, созданных на  DrupalРинат Ибрагимов - Региональное SEO: продвижение сайтов, созданных на  Drupal
Ринат Ибрагимов - Региональное SEO: продвижение сайтов, созданных на  DrupalDrupalSib
 
Павел Прищепа - Визуализировать невизуализированное за 3 дня
Павел Прищепа - Визуализировать невизуализированное за 3 дняПавел Прищепа - Визуализировать невизуализированное за 3 дня
Павел Прищепа - Визуализировать невизуализированное за 3 дняDrupalSib
 

More from DrupalSib (20)

SSO авторизация - Татьяна Киселева, DrupalJedi
SSO авторизация - Татьяна Киселева, DrupalJediSSO авторизация - Татьяна Киселева, DrupalJedi
SSO авторизация - Татьяна Киселева, DrupalJedi
 
XML в крупных размерах - Михаил Крайнюк, DrupalJedi
XML в крупных размерах - Михаил Крайнюк, DrupalJediXML в крупных размерах - Михаил Крайнюк, DrupalJedi
XML в крупных размерах - Михаил Крайнюк, DrupalJedi
 
BigPipe: ускоряем загрузку страниц - Давид Пашаев, DrupalJedi
BigPipe: ускоряем загрузку страниц - Давид Пашаев, DrupalJediBigPipe: ускоряем загрузку страниц - Давид Пашаев, DrupalJedi
BigPipe: ускоряем загрузку страниц - Давид Пашаев, DrupalJedi
 
Drupal в школе - Борис Шрайнер
Drupal в школе - Борис ШрайнерDrupal в школе - Борис Шрайнер
Drupal в школе - Борис Шрайнер
 
Евгений Юдкин - Коммуникационные инструменты в отделе продаж на примере интег...
Евгений Юдкин - Коммуникационные инструменты в отделе продаж на примере интег...Евгений Юдкин - Коммуникационные инструменты в отделе продаж на примере интег...
Евгений Юдкин - Коммуникационные инструменты в отделе продаж на примере интег...
 
D8 - Serialize, Normalize - Михаил Крайнюк, DrupalJedi
D8 - Serialize, Normalize - Михаил Крайнюк, DrupalJediD8 - Serialize, Normalize - Михаил Крайнюк, DrupalJedi
D8 - Serialize, Normalize - Михаил Крайнюк, DrupalJedi
 
Drupal - создание инсталляционных профайлов - Иван Абраменко, CimpleO
Drupal - создание инсталляционных профайлов - Иван Абраменко, CimpleODrupal - создание инсталляционных профайлов - Иван Абраменко, CimpleO
Drupal - создание инсталляционных профайлов - Иван Абраменко, CimpleO
 
Вадим Валуев - Искусство ИТ
Вадим Валуев - Искусство ИТВадим Валуев - Искусство ИТ
Вадим Валуев - Искусство ИТ
 
Андрей Юртаев - Mastering Views
Андрей Юртаев - Mastering ViewsАндрей Юртаев - Mastering Views
Андрей Юртаев - Mastering Views
 
Migrate drupal 6 to drupal 8. Абраменко Иван
Migrate drupal 6 to drupal 8.  Абраменко ИванMigrate drupal 6 to drupal 8.  Абраменко Иван
Migrate drupal 6 to drupal 8. Абраменко Иван
 
Entity возрождение легенды. Исай Руслан
Entity возрождение легенды. Исай РусланEntity возрождение легенды. Исай Руслан
Entity возрождение легенды. Исай Руслан
 
возводим динамическую таблицу, No views, no problem. Крайнюк Михаил
возводим динамическую таблицу, No views, no problem. Крайнюк Михаилвозводим динамическую таблицу, No views, no problem. Крайнюк Михаил
возводим динамическую таблицу, No views, no problem. Крайнюк Михаил
 
Реализация “гибких” списков Жамбалова Намжилма
Реализация “гибких” списков Жамбалова Намжилма Реализация “гибких” списков Жамбалова Намжилма
Реализация “гибких” списков Жамбалова Намжилма
 
Петр Селфин. Шок! Drupal 8 против SEO?! Без регистрации и SMS скачать бесплатно
Петр Селфин. Шок! Drupal 8 против SEO?! Без регистрации и SMS скачать бесплатноПетр Селфин. Шок! Drupal 8 против SEO?! Без регистрации и SMS скачать бесплатно
Петр Селфин. Шок! Drupal 8 против SEO?! Без регистрации и SMS скачать бесплатно
 
Eugene Ilyin. Why Drupal is cool?
Eugene Ilyin. Why Drupal is cool?Eugene Ilyin. Why Drupal is cool?
Eugene Ilyin. Why Drupal is cool?
 
Ivan Kotlyar. PostgreSQL in web applications
Ivan Kotlyar. PostgreSQL in web applicationsIvan Kotlyar. PostgreSQL in web applications
Ivan Kotlyar. PostgreSQL in web applications
 
Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.
Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.
Sergey Cherebedov. Deployment of the environment for Drupal using Ansible.
 
Сергей Черебедов - Integration Drupal with NodeJS. What is it and why You nee...
Сергей Черебедов - Integration Drupal with NodeJS. What is it and why You nee...Сергей Черебедов - Integration Drupal with NodeJS. What is it and why You nee...
Сергей Черебедов - Integration Drupal with NodeJS. What is it and why You nee...
 
Ринат Ибрагимов - Региональное SEO: продвижение сайтов, созданных на  Drupal
Ринат Ибрагимов - Региональное SEO: продвижение сайтов, созданных на  DrupalРинат Ибрагимов - Региональное SEO: продвижение сайтов, созданных на  Drupal
Ринат Ибрагимов - Региональное SEO: продвижение сайтов, созданных на  Drupal
 
Павел Прищепа - Визуализировать невизуализированное за 3 дня
Павел Прищепа - Визуализировать невизуализированное за 3 дняПавел Прищепа - Визуализировать невизуализированное за 3 дня
Павел Прищепа - Визуализировать невизуализированное за 3 дня
 

Екатерина Маршалкина - Panels & Page manager in Drupal 8

  • 1. Panels & Page Manager in Drupal 8 Катя Маршалкина
  • 2. > Катя Маршалкина > Drupal-разработчик Уровень: два дриса Город: уточняется… https://www.drupal.org/u/kalabro marshalkina@gmail.com Twitter: @kalabro
  • 3. API для работы со страницей в ядре. Взгляд разработчика.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. PageVariantInterface Убийца hook_page_build / hook_page_alter https://www.drupal.org/node/2357755
  • 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
  • 15.
  • 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…
  • 20. Что случилось с 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)
  • 22. Current mood: почти нет настроек, но работает.
  • 23. Page Manager P A EN L S • Концепция такая же как в семёрке • Переписано с максимальным использованием ядра восьмёрки • Упрощённая функциональность • Сырой интерфейс • Пользоваться можно (после прослушивания данного доклада) Итого
  • 24. Ссылки • 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 Suite https://www.drupal.org/project/ds
  • 25. Золотой спонсор: Спасибо! При поддержке: Серебряный спонсор: Зовите на конференцию @kalabro marshalkina@gmail.com Читайте Drupal-дайджест http://habrahabr.ru/post/271445/