Как я могу проверить значение поля абзаца в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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