0

説明させてください。一度に1つのカテゴリの深さを表示するカテゴリ構造を表示する必要があるWebサイトがあり、最終的な深さに達すると、そのカテゴリのエントリが表示されます。

私がこれを行うことができた唯一の方法は、gwcodecategoriesを使用することです。これを使用して、深さをurl構造に出力し、このセグメントを使用して、メインページに表示する深さをハードコーディングします。そうしないと、gwcodecategoriesがすべての深度を表示するため、現在のカテゴリに応じて、カテゴリの現在の深度を実際に動的に取得することはできません。

これはうまく機能し、すべての深さを循環できますが、最終的な深さに達したときに、gwcodeコードに{ifno_results}を追加することでそのカテゴリのエントリを出力するのは簡単だと思いました。ただし、URLに深さを追加したため、これは機能していません...URL構造は次のようになります。

www.website.com/products/list/(depth)/category/(category url title)

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

1 に答える 1

1

申し訳ありませんが、これでうまくいきました!

リンクの {depth} を URL の末尾に移動したため、URL は次のようになりました。

www.website.com/products/list/category/(カテゴリーURLタイトル)/(深さ)

これは URL の末尾にあるため、式エンジンによる URL の解析に干渉しませんでした。その後、if 条件を last_segment に変更しました。

誰かがこのようなカテゴリを表示したい場合、これが私が何時間も髪を引っ張った後にそれを行う方法を見つけた唯一の方法です.

于 2012-08-28T15:49:16.110 に答える