Отображение записей по категориям в ExpressionEngine - PullRequest
5 голосов
/ 10 января 2011

Итак, я искал и нашел несколько сообщений, которые вроде как дают мне то, что я хочу, но это все еще не совсем работает. Этот пост особенно показался мне ближе всего к тому, чего я пытался достичь, и я построил из него свой код: http://expressionengine.com/forums/viewthread/168142/

объяснить; У меня есть серия записей, каждая запись относится только к одной категории. Я хотел бы перечислить эти категории и под каждой категорией перечислить записи с одним из их пользовательских полей. Вот так:

  • Категория 1

    • Элемент 1
    • Элемент 2
  • Категория 2

    • Элемент 1
    • Элемент 2

Итак, вот мой код в его нынешнем виде, который перечисляет категории, но не выплевывает ни одной записи:

{exp:channel:categories channel="faq-question" style="linear"}
    <section class="faq-category-container closed">
        <h1 class="faq-category-header"><a href="#">{category_name}</a></h1>
        <dl>
    {exp:query sql="

        SELECT title, url_title AS urlt, cat_id

        FROM exp_channel_titles

        NATURAL JOIN exp_category_posts

        WHERE channel_id = '7' AND cat_id = '{category_id}'

        ORDER BY title ASC"
    }
        {embed="jazz-camp/faq-cat-list" faqlink="{urlt}"}
    {/exp:query}
        </dl>
    </section><!-- end .faq-category -->
{/exp:channel:categories}

И встроенный шаблон, на который он ссылается:

{exp:channel:entries channel="faq-question" url_title="{embed:faqlink}"}<!-- entry -->
    <dt>{title}</dt>
    <dd>
        {faq_content}
    </dd>
{/exp:channel:entries}

Любая помощь будет наиболее ценной!

Ответы [ 3 ]

14 голосов
/ 27 января 2011

Это может быть очень простой пример того, что вы ищете:

{exp:channel:categories style="linear"}
  <h1>{category_name}:</h1> 
  {exp:channel:entries category="{category_id}" dynamic="no"}
    <p>{my_custom_field}</p>
  {/exp:channel:entries}
{/exp:channel:categories}
5 голосов
/ 28 января 2011

Итак, вот что я закончил в конце (любезно предоставил некоторую помощь по платам EE):

{exp:channel:categories channel="faq-camp" style="linear" show_empty="no"}
    <section class="faq-category-container closed">
        <h1 class="faq-category-header"><a href="#">{category_name}</a></h1>
        <div class="faq-questions-container">
            <dl>
    {embed="jazz-camp/faq-cat-list" faqlink="{category_id}" faqparent="faq-camp"}
            </dl>
        </div><!-- end .faq-questions-container -->
    </section><!-- end .faq-category -->
{/exp:channel:categories}

А что касается встраивания, то это выглядит так:

{exp:channel:entries channel="{embed:faqparent}" category="{embed:faqlink}" dynamic="no"}<!-- entries -->
    <dt>{title}</dt>
    <dd>
        {faq_answer}
    </dd>
{/exp:channel:entries}

Причина встраивания связана с тем, как что-то происходит с получением правильных записей в канале;просто наличие встроенного {exp:channel:entries} на странице не сработало.

1 голос
/ 11 февраля 2014

Тег категории «Архив» может быть полезен для вас:

http://ellislab.com/expressionengine/user-guide/modules/channel/category_archive.html

...