Sử dụng Twig làm thế nào tôi có thể lấy bản tóm tắt của trường cơ thể để sử dụng trong một mẫu?


10

Vì vậy, tôi có một textarea với tóm tắt và tôi muốn hiển thị tóm tắt trước nội dung. Vì vậy, nếu tôi chỉ sử dụng {{ content.body }}văn bản được hiển thị mà không có bản tóm tắt.

Làm thế nào tôi có thể nhận được bản tóm tắt?

{{ content.body.summary }} dường như không làm trò bịp

Câu trả lời:


4

Trong tệp THEME.theme của bạn, bạn cũng có thể chỉ định nó:

function THEME_preprocess_node(&$variables) {
$variables['node_teaser'] = $node_array['body'][0]['summary'];
}

Và sau đó hiển thị nó với:

{{ node_teaser }}

18

Cách duy nhất tôi quản lý để giải quyết điều này là:

nếu bạn chỉ muốn nhắm mục tiêu giá trị của bản tóm tắt, bạn có thể nhắm mục tiêu thực thể bạn đang truy cập. Nếu bạn đang ở trên một nút thì bạn có thể làm điều này:

node.body.summary

Trong một đoạn

paragraph.field_body.summary

Bạn cũng có thể lấy nội dung tóm tắt phía trước như thế này:

content.body['#object'].body.summary

Không tuyệt vời nhưng sẽ làm cho bây giờ.


2
Đó là cách duy nhất để sử dụng đối tượng nút, bởi vì content.bodymảng kết xuất của trường cơ thể như cách bạn định cấu hình trong chế độ xem và nếu bạn không thay đổi nó, nó sẽ hiển thị toàn bộ chế độ xem.
4k4

1

Để xây dựng dựa trên những gì 4k4 đã viết (và cập nhật cho năm 2018):

Trước tiên, bạn chọn cách bạn thích trường được định dạng, sau đó bạn in nó.

1) Chuyển đến Cấu trúc> Loại nội dung> LOẠI NỘI DUNG CỦA BẠN> Quản lý hiển thị> CHẾ ĐỘ XEM CỦA BẠN.

2) Trong cột "Trình định dạng", chọn "Tóm tắt hoặc Cắt bớt."

3) Lưu lại.

4) Trong tệp twig của bạn, bạn sẽ chỉ có thể in {{body}} (đây là những gì phù hợp với tôi, nhưng sửa tôi nếu tôi sai và tôi sẽ cập nhật).

Điều này hoạt động với tôi bằng cách sử dụng nút trong khối Xem và cũng hoạt động trên nút đó.


+1 Đây là cách lý tưởng để cắt nội dung. Trong đó, quản trị viên trang có thể định cấu hình giới hạn cắt cũng như không cần trợ giúp của nhà phát triển.
Aryashree Pritikrishna

0

Tôi đã làm cho nó hoạt động bằng cách sử dụng đơn giản

{{ content.field_description['#items'][0].summary }}

trong đó trường mô tả của tôi là field_description

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.