Drupal 8 - додаємо twig шаблон для типу блоку

Видає помилку Parse error: syntax error, unexpected '[' in W: \ home \ DRUPAL \ www \ vendor \ guzzlehttp \ psr7 \ src \ functions.php on line 78

Хм навіть вмісту текстового поля не відображається в поданні

Передати дані зі сторінки в форму

Як, ви напевно знаєте, в Drupal 8 блоки теж стали сутностями - я вже говорив, що це те, що дійсно не вистачало в 7й версії движка, тобто ми можемо створювати певний тип блоку зі своїми набором полів, що позбавило нас від написання своїх кастомних модулів, коли необхідно було реалізувати додаткове поле блоку.

Крім вище перерахованих переваг, ви зіткнетеся з тим, що з усього розмаїття шаблонів перевизначення блоку, ви не знайдете шаблон, який би визначав форматування для типу блоку.

Як завжди, розберемося з цим на конкретному прикладі. Я створив свій тип блоку, в моєму випадку - testing-bock

Drupal 8 - додаємо twig шаблон для типу блоку

Тепер створимо блок і виведемо його в будь-який регіон нашого сайту

Drupal 8 - додаємо twig шаблон для типу блоку

Я вивів його в основний вміст сторінки. Тепер подивимося на список шаблонів, які нам доступні за замовчуванням

Drupal 8 - додаємо twig шаблон для типу блоку

До речі, хто не в курсі як включити налагодження в Drupal 8, то йдемо сюди. Як ми бачимо, нам доступні наступні шаблони:

  • block - testingblock.html.twig - шаблон переопределяет блок по ID блоку
  • block - block-content - 39e5fa3a-79f6-42dd-8857-fcdbec376e44.html.twig - шаблон переопределяет блок по його Uniqid

Хочу зауважити, що Uniqid - це унікальний ID блоку, який генерується в момент створення блоку, є унікальним і ніколи не повторюється, відповідно у вас він буде відрізнятися.

  • block - block-content.html.twig - шаблон переопределяет блок, виходячи з регіону в якому знаходиться, в даному случає регіон - content
  • block.html.twig - базовий шаблон блоків за замовчуванням, визначає висновок всіх блоків сайту

Отже, бачимо що немає шаблону, який перевизначає б наш блок виходячи з його типу. Давайте це виправимо. Для цього створимо модуль, я назву його - template_block_type

Активуємо модуль і перевіряємо список доступних шаблонів.

Drupal 8 - додаємо twig шаблон для типу блоку

Як бачимо, нам став доступний шаблон

  • testing-bock - це «машинне ім'я» нашого типу блоку

Тепер ви можете створити файл з даними назвою в вашій темі і працювати з ним, як зі звичайним twig шаблоном.

На цьому можна закінчити.

Завантажити модуль, який використовується в статті

Схожі статті