Saya ingin menghitung jumlah nilai bidang tak terbatas di ranting tempalate yang saya coba
{{ node.field_mytext.count }}
=> dihadapkan dengan kesalahan
dan dalam percobaan lain
{{ content.field_mytext.count }}
=> tidak ada yang dikembalikan
(dalam metode ini saya memeriksa bidang saya tidak dalam bidang dinonaktifkan adalah manajer tampilan).
Pertanyaan saya adalah bagaimana saya bisa menghitung jumlah item dalam ranting?
Saya harap saya hadapi dengan solusi mengharapkan solusi ini: D
- tambahkan dalam preprocess_node
- gunakan Twig Tweak
Jawaban:
{{node.field_mytext.count}} => dihadapkan dengan kesalahan
Ini tidak berfungsi, karena metode
count
ini tidak diperbolehkan dalam kebijakan ranting:{{content.field_mytext | panjangnya }}?
Ini tidak berfungsi, karena
content
array render dengan banyak kunci tambahan.Ini berfungsi: Konversi bidang ke array dan menghitung
sumber
Cara termudah adalah dengan mendapatkan
['#items']|length
. Saya selalu melakukannya untuk menghitung item untuk melihat lebih banyak instance dan ketika memuat slider.sumber
Saya telah menggunakan filter Twig sendiri untuk mendukung bidang entitas, dengan ini Anda dapat menggunakan bidang sebagai array asli:
atau
atau
Anda dapat dengan mudah menambahkan Anda memiliki filter Twig melalui modul khusus. Anda dapat mempelajari lebih lanjut di sini: drupal.org/docs/8/creating-custom-modules . Singkatnya, Anda perlu membuat direktori modul, misalnya
path/to/drupal/modules/custom/common/
, letakkan di sanacommon.info.yml
dengan definisi modul dancommon.services.yml
dengan definisi layanan (lihat komentar dalam kode) dan masukkan kode saya/path/to/drupal/modules/custom/common/src/TwigExtension.php
.sumber
Gunakan filter panjang
sumber