これには、おそらくカスタム クエリが必要です。EE はそのコア データとカスタム カテゴリ データを別々のテーブルに格納するため、これはネイティブ クエリ モジュールにとっては少し扱いにくいため、Rob Sanchez のActiveRecord プラグインを使用する傾向があります。私はこれを広範囲にテストしていませんが、次のスニペットは大まかな場所にあるはずです:
{exp:activerecord
select="d.field_id_1 as seo_field_one, d.field_id_2 as seo_field_two"
from="category_field_data as d"
join="categories as c"
on="c.cat_id = d.cat_id"
where[a]="c.cat_url_title = '{triggers:last_segment}'"
where[b]="c.group_id = '1'"
}
<p>Field one: {seo_field_one}</p>
<p>Field two: {seo_field_two}</p>
{/exp:activerecord}
CodeIgniter の Active Record クラスに特に精通していない場合、これは次のことを行っています。
- 列名に基づいてカスタム カテゴリ フィールドを選択する (例:
field_id_1
)、およびテンプレート内で使用するエイリアスを作成する (例: ) {seo_field_one}
。
categories
とテーブル間の結合を作成category_field_data
して、categorys テーブルの値に基づいて field_data テーブルのデータを取得できるようにします。
- 結果セットを、URL タイトルが最後の URL セグメントと一致し、カテゴリ グループ 1 に属するカテゴリに制限します。
これをテンプレートに実装するには、選択ステートメントを調整して、正しい列からデータを取得group_id
し、カテゴリ グループと一致するように微調整する必要があります。最後の URL セグメントのデータを取得する必要があると想定していますが、必要に応じて簡単に調整することもできます。