【问题标题】:Expression Engine navigation and conditionals表达式引擎导航和条件
【发布时间】:2013-08-15 16:56:51
【问题描述】:

在此先感谢您对此问题的帮助。这是一个表达式引擎站点。我在使用简单的导航条件和活动状态时遇到了麻烦。我在样式中放置了一个活跃的颜色状态;但是,“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>

【问题讨论】:

    标签: css navigation expressionengine conditional


    【解决方案1】:

    试试:

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

    只是为了确认,你说:

    它们在代码中呈现

    我假设您的意思是所有这些,因此建议将变量括在引号和大括号中。但是你会遇到最后两个条件的问题,因为它们总是会匹配在一起。如果这确实是您的问题,那么解决方案是比较两个部分:

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

    【讨论】:

    • 谢谢彼得。我还没有解决这个问题,但是与最后两个条件的冲突有所帮助。删除 index.php 后,段应该还是一样的吧?
    • 是的,index.php 不是段的一部分,因此无论是否存在都不会更改段值或编号。所以还是不行?如果将 {segment_1} 和 {segment_2} 作为测试变量输出会发生什么?
    猜你喜欢
    • 2012-01-02
    • 2011-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 1970-01-01
    相关资源
    最近更新 更多