Как я могу проверить значение поля абзаца в Drupal? ⇐ Php

Кемеровские программисты php общаются здесь
Anonymous
Как я могу проверить значение поля абзаца в Drupal?

Сообщение Anonymous »

Я новичок в Drupal, однако мне нужно сделать следующее:
У меня есть абзац ad_section с двумя полями: field_link (тип: Обычный текст) и field_video (тип: Медиа->Видео)
Необходимо, чтобы на странице, где отображается этот абзац, происходила проверка: если поле field_video заполнено прикрепленным к нему видеофайлом, то добавляем has-video class в , и если это поле пусто и оставлено пустым, добавьте класс no-video в
Now в html.html.twig классы для выводятся следующим образом:

Код: Выделить всё

{%
set body_classes = [
logged_in ? 'user-logged-in'
]
%}
...

Насколько я понимаю, это можно сделать с помощью функций предварительной обработки в моем файле customtheme.theme.
Но когда я пытаюсь отправить класс в от такой функции (даже без всякой логики) ничего не происходит:

Код: Выделить всё

function constructor_preprocess__paragraph__ad_section__field_video(&$variables) {
$variables['attributes']['class'][] = 'just-test';
}
Эти варианты также не дают никакого результата:

Код: Выделить всё

function constructor_preprocess__ad_section__field_video(&$variables) {
$variables['attributes']['class'][] = 'just-test';
}

Код: Выделить всё

function constructor_preprocess_field_video(&$variables) {
$variables['attributes']['class'][] = 'just-test';
}

Код: Выделить всё

function constructor_preprocess_paragraph__ad_section(&$variables) {
$variables['attributes']['class'][] = 'just-test';
}
Есть два вопроса:
  • Как мне правильно реализовать функцию предварительной обработки для моего абзаца, чтобы я мог получить данные оттуда в шаблоне ветки?
  • А как в такой функции проверить наличие прикрепленного видеофайла?


Подробнее здесь: https://stackoverflow.com/questions/791 ... -in-drupal

Вернуться в «Php»