0

私はこれまでこれに遭遇したことがないことに驚いています、または少なくとも私はそれをどのように機能させたかを忘れました。

標準のEE関係フィールドがあります。この場合、私は「Products」チャネルを持っており、各製品は「Designers」チャネルのエントリに属しています。

明らかに、1人のデザイナーのすべての製品を一覧表示するページが必要です。私の最初の試みは次のようになりました:

{exp:channel:entries channel="designers" url_title="{segment_3}" limit="1"}

    {reverse_related_entries channel="products" limit="15"}
        {snippet_product_grid}
        {snippet_paginate}
    {/reverse_related_entries}

{/exp:channel:entries}

EE文書の事例証拠によると、逆に関連するエントリをページ分割することはできません。それで、解決策は何ですか?url_titleデザイナーの許可を得て、すべての製品エントリーIDを簡単に取得する方法はありますか?または、SQLを使用する必要がありますか?

Stashアドオンを使用してこれを解決する方法はありますか?

4

3 に答える 3

5

プラヤを使って人間関係を築くことができます。

私の知る限り、playaの関連エントリをページ付けできるはずです: https ://getsatisfaction.com/pixelandtonic/topics/pagination_in_playa#reply_6602199

于 2012-11-05T09:16:54.317 に答える
5

janvlがplayaで言ったこと。stashを使用して、Mark Croxtonが{exp:stash:get_list}のページ付け機能を追加したdevブランチを使用するとします。

https://github.com/croxton/Stash/tree/dev#expstashget_list-tag-pair

ローカルサンドボックスでこのコードをテストしていませんが、以下のコードで開始できます

{exp:channel:entries channel="designers" url_title="{segment_3}" limit="1"}
    {exp:stash:set_list name="related_products" parse_tags="yes"}
        {reverse_related_entries channel="products"}
            {stash:st_item_title}{title}{/stash:st_item_title}
        {/reverse_related_entries}
    {/exp:stash:set_list}
{/exp:channel:entries}


{exp:stash:get_list name="related_products" parse_tags="yes" parse_conditionals="yes" prefix="my_prefix" paginate="bottom"}

    {if my_prefix:count == 1}<ul>{/if}
        <li>{st_item_title}</li>
    {if my_prefix:count == my_prefix:total_results}</ul>{/if}

    {if my_prefix:no_results}
        <p>No related products</a></p>
    {/if}

    {my_prefix:paginate}
        {pagination_links}
            <ul>
                {first_page}
                        <li><a href="{pagination_url}" class="page-first">First Page</a></li>
                {/first_page}

                {previous_page}
                        <li><a href="{pagination_url}" class="page-previous">Previous Page</a></li>
                {/previous_page}

                {page}
                        <li><a href="{pagination_url}" class="page-{pagination_page_number} {if current_page}active{/if}">{pagination_page_number}</a></li>
                {/page}

                {next_page}
                        <li><a href="{pagination_url}" class="page-next">Next Page</a></li>
                {/next_page}

                {last_page}
                        <li><a href="{pagination_url}" class="page-last">Last Page</a></li>
                {/last_page}
            </ul>
        {/pagination_links}
    {/my_prefix:paginate}

{/exp:stash:get_list}
于 2012-11-05T12:22:16.750 に答える
0

はい、Playaの関係は、他のチャネルを指す埋め込みの2番目のループのように動作するため、ページ分割できます。したがって、スタッシュルート(もちろん、このページネーションの必要性以外にも多くの利点があります)を使用するか、リレーションシップフィールドをPlayaフィールドに変換する場合は、その方法でページングすることもできます。

于 2012-11-05T15:00:18.467 に答える