エントリに関連するエントリを見つけることができ、特定のカテゴリに関連するparamsを構築しようとしています。

特定の祭りに関連し、特定のカテゴリに関連するイベントのリストを生成したいと思います。この目標は、私が1つのテンプレートでこれを試み、Craftエントリタグに渡されるparamsを構築することでそうするよう促している他の人たちと一緒に座っています。クラフト3を使用する。

まず、基底パラメータ – これらは良い結果を返します。

{# Set base criteria for event query #}
{% set params = {
    section : 'events',
    orderBy : 'eventStartDateTime asc',
    relatedTo: [
        { element: entry.id }
    ],
    limit: null
} %}

次に、特定の祭典のエントリに関連付けられたイベントを取得し、特定のカテゴリに関連するイベントを取得するためのパラメータを次に示します。

{# Segment 4 is about categories #}
{% if craft.app.request.getSegment(4) %}
    {# segment 4 is the category slug #}
    {% set cat = craft.app.request.getSegment(4) %}
    {% set relationParam = {
        relatedTo: ['and',
            { targetElement: cat },
            { element: entry.id }
        ]
    }%}  

    {% set params = params|merge(relationParam) %}
{% endif %} 

この2番目のシナリオで私が見ているのは、カテゴリでフィルタリングされた結果が得られないということです。私は近くにいるように感じますが、何かが欠けている、おそらく基本的です。

ベストアンサー

あなたが探している答えは、ここです。

relatedTo メソッドは、カテゴリの title
(slug)ではなく、 CategoryModel

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です