Показване на записи по категория в ExpressionEngine

И така, потърсих и намерих няколко публикации, които донякъде ми дават това, което искам, но все още не работи съвсем. Особено тази публикация изглеждаше най-близка до това, което се опитвах да постигна, и изградих кода си от нея: http://expressionengine.com/forums/viewthread/168142/

Да обясни; Имам поредица от записи, всеки запис е присвоен само на една категория. Бих искал да изброя тези категории и под всяка категория да изброя записите с едно от персонализираните им полета. Така:

  • Категория 1

    • Item 1
    • Точка 2
  • Категория 2

    • Item 1
    • Точка 2

И така, ето моят код, както е сега, който изброява категориите, но изобщо не изплюва нито един от записите:

{exp:channel:categories channel="faq-question" style="linear"}
    <section class="faq-category-container closed">
        <h1 class="faq-category-header"><a href="/bg#">{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}

Всяка помощ ще бъде високо ценена!


person jeffbyrnes    schedule 10.01.2011    source източник


Отговори (3)


Това може да е много основен пример за това, което търсите:

{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}
person hoosteeno    schedule 26.01.2011
comment
Да, това е основната версия на това, което завърших. Създадох друг отговор, за да покажа какво най-накрая използвах. - person jeffbyrnes; 28.01.2011
comment
спасихте част от здравия ми разум тази вечер, благодаря ви за публикацията. - person Julian; 22.06.2012
comment
Този пример работи, когато добавите dynamic=no към вашия таг channel:entries. - person Joan; 11.12.2013

И така, ето какво получих в крайна сметка (с любезното съдействие на помощ от бордовете на 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="/bg#">{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} в страницата не работи съвсем.

person jeffbyrnes    schedule 28.01.2011

Тагът Category Archive може да ви бъде полезен:

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

person CJWEB    schedule 11.02.2014