Различные шаблоны block_content на одной странице - PullRequest
0 голосов
/ 26 апреля 2020

Я создал пользовательский блок. В этом блоке я создал поле типа офисных часов (это модуль contrib). Далее я создал дополнительный режим отображения (тест) для своего пользовательского блока. Теперь для моего пользовательского блока у меня есть 2 режима отображения - полный и тестовый. В режиме полного отображения я отформатировал поле часов работы и установил короткие названия дней недели. В режиме показа теста я отформатировал часы работы полевого офиса и установил длинное название дня недели. У меня должно быть 2 блока на одной странице - первый в полном режиме и второй в тестовом режиме. Как я могу применить различные шаблоны для поля рабочего времени? Попытка сделать это:

function hook_theme_suggestions_office_hours_alter (array & $ suggestions, array $ variables) {
  $ block = \ Drupal :: entityTypeManager () -> getStorage ('block_content') -> load (2);
  $ block_view = \ Drupal :: entityTypeManager () -> getViewBuilder ('block_content')->view($block);
  $ suggestions [] = $ variables ['theme_hook_original']. '__' . $ block_view['#view_mode'];

Но функция ->view($ block) показывает только полный режим. И мне нужно получить текущий режим для каждого блока и добавить

$ variables ['theme_hook_original'] к предложению шаблона.

Как я могу это сделать?

...