セグメントeq url_titleに関するステートメントif strange behavior

私の目標は、現在の/アクティブな記事をリストにマークすることでした。コードは次のようになります。

    {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}

適切なリスト項目に追加されたクラスはありません。

IF文が動作し、単純なテストを実行したかどうかを確認することにしました

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

Seg to Urlの一致があっても結果が見つかりませんでした。

それから結果がないかどうかチェックした

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

私は適切な試合を持っている。

何が起こっているのか何か手がかり?

ありがとう

2
OPコードが適切なタグで更新されました - それを動作させるためのテストはいくつかありました。明確にするには - セグメント3のカテゴリに基づいて商品リストを選択しています。セグメント4は商品です。url_title
追加された 著者 Bernard Dy,
まあ、奇妙だが、それは動作します。回答として投稿することができます。ありがとう!
追加された 著者 Bernard Dy,
チャネルの選択:セグメント3のカテゴリで商品を選択しているエントリ。チェックでは、セグメント4のカテゴリを比較していますか?
追加された 著者 Gabriel Brito,
多分あなたはこれを使う必要がありますか? {"{segment_4}" == "{url_title}"}} ?したがって、 segment_4 を引用符で囲みます。
追加された 著者 Gabriel Brito,

1 答え

引用符 "" と比較する変数と比較しない変数を比較しています。つまり、2つの変数を異なる型として比較するため、おそらく不一致が生じます。

だからこれを変更してください:

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

に:

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

おそらくこれも動作するでしょう(テストされていません)。

{if {segment_4}=={url_title}} class="current"{/if}
1
追加された