İf eq segmenti ifadesi url_title - garip davranış

Amacım listedeki güncel/aktif makaleyi işaretlemekti. Kod gibi görünüyor:

    {exp:channel:entries channel="products" category="{segment_3_category_id}" orderby="title" sort="asc" status="open" paginate="bottom" dynamic="no"} {if switchee_no_results}<div class="">

    No entries yet.

    </div>{/if}
  • {title}
  • {/exp:channel:entries}

ancak uygun liste öğesine hiçbir sınıf eklenmedi.

Sonra IF ifadesinin işe yarayıp yaramadığını ve basit test çalıştırması yapıp yapmadığını kontrol etmeye karar verdim

Seg: {segment_4} - URL: {url_title}
{if segment_4=="{url_title}"}FOUND!{/if}

URL eşleşmesine uygun Seg bile olsa sonuç bulunamadı.

Sonra sonuç olup olmadığını kontrol ettim.

Seg: {segment_4} - URL: {url_title}
{if segment_4=="{url_title}"}FOUND!{if:else}NOT FOUND{/if}

ve uygun kibritlerim var.

Herhangi bir ipucu ne oluyor?

Teşekkürler

2
OP kodu uygun etiketle güncellendi - çalışması için testlerimden bazılarıydı. Açıkçası - Bölüm 3'ten kategoriye göre ürün listeleri seçiyorum ve bölüm 4 bir ürün url_title
katma yazar Bernard Dy, kaynak
Garip ama işe yarıyor. Cevap olarak gönderebilirsiniz. Teşekkürler!
katma yazar Bernard Dy, kaynak
Kanal seçiminde: girişleri, bölüm 3 kategorisine göre ürün seçiyorsunuz. Kontrol sırasında, bölüm 4'teki kategoriyi karşılaştırıyorsunuz. Bu doğru mu?
katma yazar Gabriel Brito, kaynak
Belki bunu kullanmalısın? {eğer "{segment_4}" == "{url_title}"} ? Bu nedenle, segment_4 'i tırnak işaretleri arasına koyun.
katma yazar Gabriel Brito, kaynak

1 cevap

Birini "" tırnak işaretleri ile diğeriyle karşılaştırdığınız iki değişkeni karşılaştırıyorsunuz. Böylece bu muhtemelen iki uyuşmazı farklı türlerle karşılaştırdığı için bir uyumsuzluk verir.

Öyleyse bunu değiştir:

{if segment_4=="{url_title}"} class="current"{/if}

içine:

{if "{segment_4}"=="{url_title}"} class="current"{/if}

muhtemelen bu da işe yarayacak (test edilmemiş).

{if {segment_4}=={url_title}} class="current"{/if}
1
katma