Saya telah membuat tampilan untuk sebuah simpul yang menunjukkan konten sebagai entitas yang diberikan. Di antara yang lain, saya menampilkan bidang tubuh dalam templat ranting:
{{ content.field_body }}
Sekarang, saya ingin membatasi teks menjadi 200 karakter dan meletakkan tiga titik. Saya telah menguji tiga cara berbeda untuk melakukan itu, tetapi tidak ada yang berhasil. Masalahnya adalah, masing-masing cara menghitung dan memangkas karakter HTML juga.
1: Saya telah menambahkan format "Dipangkas" di "Kelola tampilan" => Teks terbatas tetapi tidak benar. Dan saya tidak punya tiga titik.
2: Saya telah memangkas teks dalam templat ranting. Tetapi untuk menghitung teks saya harus membuatnya terlebih dahulu. Dengan demikian, ranting menampilkan teks sebagai HTML (Saya melihat tag HTML di halaman saya!)
{% set text = content.field_body|render %}
{{ text|length > 200 ? text|slice(0, 200) ~ '...' : text }}
3: Saya sudah mencoba menyelesaikan masalah di template_preprocess_node (). Di sini saya memiliki masalah yang sama dengan menghitung markup HTML juga.
$body_text = $node->get('field_body')->getValue()[0]['value'];
$trimmed_text = substr($body_text, 0, 200) . '...';
Bagaimana saya bisa memotong teks saya dengan benar?
Terima kasih banyak atas bantuan Anda!
Anda sekarang dapat melakukan ini dengan modul twig_extender dan menggunakannya
|truncate
.Berikut ini adalah contoh cara menggunakannya dalam templat .twig, perhatikan bahwa saya juga menggunakan twig_field_value :
Catatan: Saya biasanya menjaga pengaturan devel saya (./admin/config/development/devel) diatur untuk menggunakan Symfony var-dumper dan dapat mengetahui rantai dengan
yaitu:
{{ devel_dump(content.field_name|field_value) }}
sumber
Perbaikan:
|trim
ke menyingkirkan spasislice()
dansplit()
…
) daripada "..."|raw
hasil{% set text = content.field_header_intro|render|striptags|trim %}
{{ (text|length > 200 ? text|slice(0, 201)|split(' ')|slice(0, -1)|join(' ') ~ '…' : text)|raw }}</code>
sumber
Beginilah cara saya menangani ini.
Contoh:
bidang - simpul - tubuh - article.html.twig
sumber