1

この問題についてご協力いただきありがとうございます。Expression Engine のサイトです。ナビゲーション、アクティブ状態の単純な条件に問題があります。スタイル内にアクティブなカラー ステートを配置しました。ただし、要素を検査するとコードでレンダリングされるため (ナビゲーションが埋め込まれているため)、「if ステートメント」自体に問題があるようです。

<nav class="group" role="navigation">
    <ul id="nav" class="group">
        <li class="first"><a {if segment_1 == ""} class="active" {/if}  href="{site_url}"><strong>Now</strong></a></li>
        <li><a {if segment_1 == "articles"} class="active" {/if} href="/articles/"><strong>articles</strong></a></li>
        <li><a {if segment_2 == "readings"} class="active" {/if} href="/book-readings/readings"><strong>books</strong></a></li>
        <li class="last"><a {if segment_2 == "readings"} class="active" {/if} href="/shelf/readings"><strong>shelf</strong></a></li>
    </ul>
</nav>
4

1 に答える 1

0

試す:

<nav class="group" role="navigation">
    <ul id="nav" class="group">
        <li class="first"><a {if "{segment_1}" == ""} class="active" {/if}  href="{site_url}"><strong>Now</strong></a></li>
        <li><a {if "{segment_1}" == "articles"} class="active" {/if} href="/articles/"><strong>articles</strong></a></li>
        <li><a {if "{segment_2}" == "readings"} class="active" {/if} href="/book-readings/readings"><strong>books</strong></a></li>
        <li class="last"><a {if "{segment_2}" == "readings"} class="active" {/if} href="/shelf/readings"><strong>shelf</strong></a></li>
    </ul>
</nav>

確認のために、あなたは次のように述べています。

彼らはコードでレンダリングします

私はあなたがそれらすべてを意味していると思っていたので、変数を引用符と中括弧で囲むことを提案しました。ただし、最後の 2 つの条件は常に一緒に一致するため、問題が発生します。これが実際の問題である場合、解決策は両方のセグメントを比較することです。

        <li><a {if "{segment_1}" == "book-readings" && "{segment_2}" == "readings"} class="active" {/if} href="/book-readings/readings"><strong>books</strong></a></li>
        <li class="last"><a {if "{segment_1}" == "shelf" && "{segment_2}" == "readings"} class="active" {/if} href="/shelf/readings"><strong>shelf</strong></a></li>
于 2013-08-14T19:39:23.417 に答える