In các thuộc tính mục trường với Twig / Drupal 8


7

Trong Drupal 7, tôi có thể thực hiện việc này trong mẫu trường tùy chỉnh để in thẻ alt của hình ảnh:

<?php print $item['#item']['alt']; ?>

Và mặc dù "vật phẩm" dường như là một biến số trong các trường Twig / drupal 8, tôi dường như không thể làm điều tương tự. Tôi đã thử những điều này:

{{ item.alt }}
{{ item.item.alt }}

Chúng không hoạt động nhưng tôi cũng không nhận được bất kỳ lỗi nào. Nhìn vào API không cho tôi nhiều cái nhìn sâu sắc. Tôi đã thấy ý chính này nhưng một lần nữa, không có thẻ alt nào được hiển thị riêng. Hình ảnh của tôi đang hiển thị thẻ alt vì tôi có thể nhìn thấy nó trong mã.


1
Hơi liên quan: drupal.org/node/2042773
Berdir

Câu trả lời:


10

Cú pháp để in thẻ alt trong trường hợp đó là:

{{ item['#item'].alt }}

Twig trong Drupal 8 không xử lý các khóa băm như #itemtrong mảng kết xuất hoàn toàn. Một phần của vấn đề là #biểu thị một nhận xét trong Twig, vì vậy {{ item.#item.alt }}sẽ không hoạt động.

Có khả năng làm việc xung quanh điều này với tiện ích mở rộng Twig để cho phép truy sâu vào các thuộc tính băm với cú pháp {{ item.item.alt }}nhưng tôi không chắc có ai đang làm việc trên đó không. Tôi nên đề cập rằng các phần mở rộng Twig cũng có thể được thêm vào contrib.


Cảm ơn, điều đó làm việc tuyệt vời. Tôi không thể tìm thấy bất kỳ tài liệu nào liên quan đến vấn đề này, có tài liệu tham khảo nào bạn có thể chỉ cho tôi không?
Daniel Englander

2
Những thứ như thế này có lẽ nên được thêm vào dưới drupal.org/theme-guide/8 khi chúng dành riêng cho Twig + Drupal. Tôi có thể thấy điều này có khả năng phù hợp với drupal.org/node/1918824 , có thể dưới Biến?
Cottser


1
Tôi đã thêm ví dụ này vào drupal.org/node/1918824 , như được đề xuất bởi @Cottser, và thêm một nhận xét chỉ ra vấn đề cốt lõi mà anh ấy đã nộp.
Ursula

Trên Drupal 8 {{ item['#item'].alt }}không hoạt động với tôi. Thay vào đó, giải pháp khác của @Hugo {{ item.content['#item'].alt }}là ok.
Sébastien Gicquel

3

Tôi đã đạt được việc in thuộc tính alt của trường của mình bằng dòng này {{ item.content['#item'].alt }}


Trên Drupal 8 {{ item['#item'].alt }}không hoạt động với tôi. Giải pháp của bạn {{ item.content['#item'].alt }}hoạt động (Tôi đã thấy một cuộc thảo luận ở đây drupal.org/project/drupal/issues/2160611 )
Sébastien Gicquel
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.