content
містить масиви візуалізації на основі налаштованих форматорів.
Якщо ви хочете отримати доступ до фактичних значень, ви хочете отримати доступ до них через об'єкт сутності. Зазвичай, це доступно, наприклад, у вашому шаблоні, наприклад node
. Для вашого випадку він дещо особливий, оскільки блок_контент відображається у вмісті блоку без власного шаблону, тому вам потрібно зробити його доступним у yourtheme_preprocess_block($variables)
такий спосіб:
if (isset($variables['elements']['content']['#block_content'])) {
$variables['block_content'] = $variables['elements']['content']['#block_content'];
}
Потім ви можете отримати доступ до значення поля за допомогою block_content.field_name.property
. Так що у вашому випадку block_content.field_align.value
. Властивість призначена value
для більшості типів полів, для довідок ви можете використовувати або target_id
для ідентифікатора, або entity
для об'єкта, на який посилається особа. Так, ви можете безпосередньо отримати доступ до полів на цьому, але переконайтеся, що завжди перевіряйте, чи існує посилання, інакше ви можете виявити фатальні помилки або винятки. Наприклад, щоб отримати доступ до мітки посилання терміна, ви можете отримати доступ до нього як block_content.field_tags.entity.name.value
.
Якщо ви не вказали дельту поля, вона за замовчуванням застосовується до першої. Якщо ви хочете отримати доступ до іншої дельти, ви можете використовувати entity.field_name.1.value
тощо. Ви також можете петлювати над ними.
Це все відображається безпосередньо на PHP, ви також можете робити $block_content->field_tags->entity->name->value
в попередній обробці та інших місцях, де у вас є блок_контент.