Как использовать пользовательский режим просмотра блоков в режиме просмотра?


У нас есть пользовательский блок типа block_countries, и мы используем представление (my_view_custom) для отображения всех блоков, где тип = block_countries. В режиме просмотра block_countries мы настраиваем режим "Полного" просмотра, в котором мы отображаем определенную информацию.

Представление отображается в виде блока и помещается в область (т. е. область содержимого) темы. Мы хотим ввести режим просмотра block_countries "Полный" и настроить крючок предварительной обработки для выполнения некоторой обработки, однако мы не могу найти способ сделать это.

Нам нужна помощь в определении правильного шаблона ветки и препроцессора для вызова, чтобы получить желаемое ниже. Как мы можем это сделать?

Поля типа блока (block_countries):

  1. тело
  2. язык
  3. страна (ссылка на сущность: термин таксономии)

Режим полного просмотра (показаны поля):

  1. тело
  2. страна

Настройки просмотра:

  1. Формат = неформатированный список
  2. показать: пользовательский блок: Полный (где полный - режим просмотра)
  3. Критерии фильтрации: пользовательский блок: тип блока = block_countries

Мы пробовали следующее, но они не работают

Веточка

views-view-unformatted--my-view-custom--block-1.html.twig

Крючки

mytheme_preprocess_views_view(&$vars)
mytheme_preprocess_views_view__my_view_custom(&$vars)

Желаемый результат (для каждой строки, возвращаемой из представления):

<div data-country="{{ country }}"> {{ body }} </div>
Author: usernameabc, 2018-01-29

1 answers

Не используйте пользовательские блоки, используйте узлы или пользовательский тип сущности. Пользовательские блоки предназначены для отображения в виде блока, а не представления внутри блока. У них нет собственного шаблона. См. https://www.drupal.org/node/2704331.

Да, это не здорово, но маловероятно, что это изменится в ближайшее время.

 0
Author: Berdir, 2018-01-30 08:24:07