Рейтинг:0

Как визуализировать представление в пользовательском шаблоне ветки?

флаг in

Я создал собственный шаблон ветки, чтобы переопределить поля просмотра в неформатированном представлении. Что я хотел бы сделать, так это избавиться от цикла рендеринга и явно отображать переменные в определенных позициях. Я использовал dump() для вывода списка переменных и вижу список вроде

  'field_pf_site_url' => 
    объект(Drupal\views\Plugin\views\field\EntityField)[4373]
      ...
  'название' => 
    объект(Drupal\views\Plugin\views\field\EntityField)[4375]
      ...

Поэтому я попытался отобразить поле заголовка с помощью

title3: {{ название }}<br />

"title3" отображается, но не переменная. Как я могу правильно отобразить его? У меня также есть поле, представляющее собой массив изображений; есть ли специальные приемы их отображения?

Kevin avatar
флаг in
Почему бы просто не использовать визуализированный объект и режим просмотра в представлениях?
pglatz avatar
флаг in
Я пробовал это, но до сих пор не могу контролировать поля, которые мне нужны. Я сделал макет с двумя столбцами и восемью полями в первом столбце. Единственное, что отображается, это {{ content.first }}. Что я действительно хотел бы сделать, так это разбить отдельные поля и поместить каждое в div, к которому я мог бы применить собственный стиль.
4uk4 avatar
флаг cn
В шаблоне Views вы найдете обработанную разметку в объектах разметки. Это то, что вы должны напечатать, и вы можете обернуть вокруг них div. Внутренняя часть разметки настраивается в пользовательском интерфейсе, и есть множество вариантов добавления разделов и классов для применения пользовательских стилей. Вы даже можете переписать все содержимое поля с помощью токенов, если вам нужно.
pglatz avatar
флаг in
Вы говорите о модуле views_templates? Я не могу найти много документации по нему. Чем это отличается от простого создания переопределения для views-view-fields.html.twig? Я пробовал это, но не могу понять синтаксис для захвата отдельной переменной поля для ее отображения.
pglatz avatar
флаг in
Немного покопавшись, я могу напечатать одно из полей с {{ fields.field_pf_year_created.content }} -- это работает для всех настраиваемых полей, но я не могу добраться до заголовка с {{ fields.field_pf_images.content }, а также попробовал field.title.content
4uk4 avatar
флаг cn
Я говорю об основных шаблонах, у каждого из них есть значение по умолчанию, которое демонстрирует, что должно быть напечатано. Кстати, вы можете печатать только те поля, которые настроены в представлении. Они не обязательно совпадают с сущностью. Как по именам, так и по номерам. Вы можете настроить поля сущности несколько раз с разными именами (что невозможно в типах контента) или добавить вычисляемые поля, не связанные напрямую с полем сущности.
leymannx avatar
флаг ne
Переходите к режимам просмотра и отображайте визуализированные объекты в определенных режимах просмотра. Затем добавьте предложения шаблонов для каждого режима просмотра, если они еще не существуют, для точного шаблонирования или получите модуль группы полей, чтобы добавить некоторые оболочки в режимы просмотра из пользовательского интерфейса. Никогда не начинайте с шаблонов полей Views, вы будете ненавидеть себя через год или два.
Рейтинг:2
флаг cn

Подводя итог комментариям. При настройке вывода представления на основе полей (а не сущностей, отображаемых в режимах просмотра, как предлагает @Kevin), не начинайте слишком рано с шаблонов. Сначала используйте параметры, доступные в представлениях. Плагины основных полей предоставляют множество опций, даже для перезаписи всего содержимого поля с использованием токенов того же поля или любого другого поля, определенного ранее (которое вы можете скрыть от отображения, если хотите использовать его только как токен).

Вы также можете использовать плагины стилей для отображения полей в столбцах.Если основные стили не работают, добавьте дополнительные или пользовательские стили. Видеть https://www.drupal.org/docs/creating-custom-modules/building-a-views-display-style-plugin-for-drupal

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.