2012-04-23 10 views
2

channel:entriesタグまたはカスタムクエリでカテゴリごとに1つのエントリを表示する方法を知っている人はいますか?これは、各カテゴリの最新のエントリのみを表示するためには動的でなければならず、すべてのエントリにカテゴリがあるわけではありません。例えば、エントリのリスト内に2つ以上の同じカテゴリが割り当てられていて、最新のもののみが表示されている場合。カテゴリごとに1つのチャンネルエントリ

助けてください。ありがとう。

答えて

1

簡単:カテゴリをリストし、各カテゴリ内で1つのエントリを取得します。あなたがカテゴリの多くを持っている場合、クエリの数が手に負えなくなる可能性があるので、注意が必要:

{exp:channel:categories channel="my_channel" show_empty="no" cache="yes" refresh="60"} 
    <h2>{category_name}</h2> 
    {exp:channel:entries channel="my_channel" limit="1" category="{category_id}" disable="categories|pagination" cache="yes" refresh="60"} 
    <p>{title}</p> 
    {/exp:channel:entries} 
{/exp:channel:categories} 

(注)この例では、エントリはそれに割り当てられたいくつかのカテゴリがあったが、そのエントリにも最新だった場合ということそれぞれの見出しの下にと表示されます。

+0

ありがとうございます。すべてのエントリにカテゴリが割り当てられているわけではありません。私はそれを強制する必要があると思う。 – James

+0

エントリが分類されていない場合は、表示したくないのですが、正しいですか? –

+0

いいえ、私もカテゴリなしでエントリーを表示する必要があります。それは私が知るまれなケースですが、いくつかのエントリはグループ化が必要で、最新のもののみが表示されます。 – James

関連する問題