Как проверить, что поле пустое, когда у вас есть объект $ node?
Я нашел это как возможное решение:
$field = field_get_items('node', $node, 'field_post_image');
Я могу проверить сейчас:
UPDATE .UPS! Это ненадежно, хотя я обещаю, что это работало на меня вчера.
isset($field);
но мне интересно, есть ли лучший способ.
Просветите меня
Вы можете использовать следующий фрагмент, чтобы проверить, является ли поле пустым.
Этот код безопаснее, поскольку разные поля считаются пустыми при разных условиях. См., Например, разницу между file_field_is_empty () , number_field_is_empty () и taxonomy_field_is_empty () :
taxonomy_field_is_empty()
проверяет свойство tid$item
параметра, аnumber_field_is_empty()
проверяет свойство value того же параметра. Для пользовательских полей может потребоваться проверка более сложного условия, чтобы считать поле пустым.Описание для hook_field_is_empty (), приведенное в документации, следующее:
источник
Мы нашли необработанное значение в (
$content['field_name']['#items'][0][value]
), так что вы можете определить, является ли поле пустым или нет с помощью выражениягде
field_name
соответствует имени нужного поля.источник
Drupal 8
Если кому-то нужен такой же ответ в D8, это то, что я делаю, чтобы проверить свое поле:
источник