ExpressionEngine: Penyematan template bersyarat

Saya mengalami sedikit masalah dengan urutan parse Mesin Ekspresi dan logika kondisional.

Saya ingin menyematkan templat berdasarkan pernyataan kondisional dalam suatu saluran.

Sesuatu seperti ini:

             {exp:channel:entries channel="project" limit="3"}
                      {if count >2}
                          <h1>title{/h1}
                       {if:else}
                        {embed="test/.test.html}
                       {/if}

             {/exp:channel:entries}

Masalahnya adalah penyematan dipanggil beberapa kali dari loop. Saya mencoba menggunakan Stash untuk menyetel variabel (lalu memanggil penyematan jika variabel telah disetel), tetapi sudah terlambat atau terlalu dini dalam urutan penguraian.

Adakah yang tahu cara menyematkan kondisional berdasarkan nilai saluran?


person jorblume    schedule 29.07.2014    source sumber
comment
Bagi saya itu tampak baik-baik saja. Saya sarankan untuk membungkus count dalam kurung kurawal dan melihat apakah itu membuat perbedaan.   -  person JamesNZ    schedule 31.07.2014


Jawaban (1)


Versi EE apa yang Anda gunakan? EE 2.9 membawa perubahan substansial (perbaikan!) pada cara penanganan kondisional. Saya belum menggunakan EE 2.9 tetapi dengan membaca dokumentasi 'Tahapan Rendering' apa yang Anda coba seharusnya berfungsi seperti yang tertulis di 2.9.

Perhatikan bahwa persyaratan dievaluasi pada langkah 19 dan disematkan pada langkah 21.

Dalam versi sebelumnya, penyematan EE diproses sebelum "persyaratan kompleks". Lihat pengumuman 2.9 dan changelog untuk detailnya.

person AllInOne    schedule 30.07.2014
comment
Ini dia, saya menggunakan EE 2.8. Terima kasih! Ditandai sebagai jawaban yang benar. - person jorblume; 01.08.2014