ExpressionEngine: ฝังเทมเพลตแบบมีเงื่อนไข

ฉันมีปัญหาเล็กน้อยเกี่ยวกับลำดับการแยกวิเคราะห์ Expression Engine และตรรกะแบบมีเงื่อนไข

ฉันต้องการฝังเทมเพลตตามคำสั่งแบบมีเงื่อนไขภายในแชนเนล

บางสิ่งเช่นนี้:

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

             {/exp:channel:entries}

ปัญหาคือว่าการฝังถูกเรียกหลายครั้งจากการวนซ้ำ ฉันลองใช้ Stash เพื่อตั้งค่าตัวแปร (จากนั้นเรียก embed หากตั้งค่าตัวแปรไว้) แต่มันสายเกินไปหรือเร็วเกินไปในการเรียงลำดับการแยกวิเคราะห์

ไม่มีใครรู้วิธีฝังแบบมีเงื่อนไขตามค่าของช่องหรือไม่


person jorblume    schedule 29.07.2014    source แหล่งที่มา
comment
นั่นดูดีสำหรับฉัน ฉันขอแนะนำให้นับการห่อด้วยเครื่องหมายปีกกาและดูว่ามันสร้างความแตกต่างหรือไม่   -  person JamesNZ    schedule 31.07.2014


คำตอบ (1)


คุณใช้ EE เวอร์ชันใดอยู่ EE 2.9 นำการเปลี่ยนแปลงที่สำคัญ (การปรับปรุง!) มาสู่วิธีการจัดการเงื่อนไข ฉันยังไม่ได้ใช้ EE 2.9 แต่จากการอ่านเอกสาร เอกสาร 'Rendering Stages' สิ่งที่คุณพยายามควรใช้งานได้ ตามที่เขียนไว้ ใน 2.9

โปรดทราบว่าเงื่อนไขได้รับการประเมินในขั้นตอนที่ 19 และฝังอยู่ในขั้นตอนที่ 21

ในเวอร์ชันก่อนหน้าของการฝัง EE ได้รับการประมวลผลก่อน "เงื่อนไขที่ซับซ้อน" ดูประกาศ 2.9 และchangelog เพื่อดูรายละเอียด

person AllInOne    schedule 30.07.2014
comment
เท่านี้เอง ฉันใช้ EE 2.8 ขอบคุณ! ทำเครื่องหมายว่าเป็นคำตอบที่ถูกต้อง - person jorblume; 01.08.2014