使用自定义URL结构显示特定类别中的表达式条目

时间:2012-08-28 15:34:12

标签: php expressionengine categories

让我解释一下,我有一个网站,我需要显示一个类别结构,一次显示一个类别深度,然后当达到最终深度时,它将显示该类别中的条目。

我设法做到这一点的唯一方法是使用gwcodecategories。使用这个我将深度输出到url结构,然后使用此段来硬编码在我的主页面中显示的深度。否则gwcodecategories将显示每个深度,您实际上无法根据当前类别动态获取当前类别的深度。

这很好用,我可以遍历所有深度,但是当我达到最终深度时,我认为通过在我的gwcode代码中添加{if no_results}来输出该类别中的条目会很容易。但是现在这不起作用,因为我已经在我的网址中添加了深度...我的网址结构现在是:

www.website.com/products/list/(深度)/类别/(类别网址标题)

无论URL如何,我如何显示条目?这是我的代码:

<div id="cat-filter">
<div id="products">
{exp:gwcode_categories 
    channel="product" 
    cat_url_title="{last_segment}" 
    depth="{if segment_3 == '1'}2{/if}{if segment_3 == '2'}3{/if}{if segment_3 == '3'}4{/if}{if segment_3 == '4'}5{/if}{if segment_3 == '5'}6{/if}" 
    style="linear" 
    id="category-items"
    }
    <div class="product-list{switch='|| no-margin'}"  onClick="location.href='{title_permalink='products/list/category/{cat_url_title}'}'">
        <a href="{path='products/view'}">
        {exp:imgsizer:size src="{cat_image}" width="190"}
        <img src="{sized}" width="{width}" alt="{title}" />
        {/exp:imgsizer:size}
        </a>

        <div class="prod-spacer"></div>
        <div class="product-info">
            <a href="{title_permalink='products/view'}"><p>{cat_name}</p></a>
            <a class="view-btn" href="{path='products/list/{depth}/category/{cat_url_title}'}">+ View Category</a>
        </div>
    </div><!-- END PRODUCTS LIST -->

    {if no_results}
    {embed="products/product_feed"}
    {/if}

{/exp:gwcode_categories}
</div><!-- END PRODUCTS -->
</div><!-- END CAT FILTER -->

1 个答案:

答案 0 :(得分:1)

没关系 - 让这个工作!

将我的{depth}移动到我的链接到网址的末尾,这样网址就是:

www.website.com/products/list/category/(类别网址标题)/(深度)

这不会干扰表达引擎解析url,因为它位于url的末尾,然后我只是将if条件更改为last_segment。

如果有人希望展示这样的类别,这是我在拔完头发后发现如何做的唯一方法。