content
chứa các mảng kết xuất dựa trên các trình định dạng được cấu hình.
Nếu bạn muốn truy cập các giá trị thực tế, bạn muốn truy cập chúng thông qua đối tượng thực thể. Thông thường, điều đó đã có sẵn cho mẫu của bạn, ví dụ node
. Đối với trường hợp của bạn, nó hơi đặc biệt vì block_content được hiển thị trong nội dung khối mà không có mẫu riêng của nó, vì vậy bạn phải tự cung cấp nó theo cách yourtheme_preprocess_block($variables)
như sau:
if (isset($variables['elements']['content']['#block_content'])) {
$variables['block_content'] = $variables['elements']['content']['#block_content'];
}
Sau đó, bạn có thể truy cập một giá trị trường với block_content.field_name.property
. Vì vậy, trong trường hợp của bạn , block_content.field_align.value
. Thuộc tính value
dành cho hầu hết các loại trường, cho các tham chiếu, bạn có thể sử dụng target_id
cho ID hoặc entity
cho đối tượng thực thể được tham chiếu. Có, bạn có thể truy cập trực tiếp vào các trường trên đó, nhưng hãy đảm bảo luôn kiểm tra xem tham chiếu có tồn tại không nếu không bạn có thể gặp phải lỗi nghiêm trọng hoặc ngoại lệ. Ví dụ, để truy cập nhãn của một tham chiếu hạn, bạn có thể truy cập nó dưới dạng block_content.field_tags.entity.name.value
.
Nếu bạn không chỉ định trường delta, nó sẽ mặc định là trường đầu tiên. Nếu bạn muốn truy cập một delta khác, bạn có thể sử dụng entity.field_name.1.value
và cứ thế. Bạn cũng có thể lặp qua chúng.
Đây là tất cả các bản đồ trực tiếp tới PHP, bạn cũng có thể thực hiện $block_content->field_tags->entity->name->value
trong tiền xử lý và các nơi khác mà bạn có block_content.