在ExpressionEngine中显示每个类别的条目

时间:2011-01-10 01:28:38

标签: categories expressionengine

所以,我已经搜索过了,发现了一些帖子可以让我得到我想要的东西,但它仍然没有用。这篇文章特别看起来最接近我想要实现的目标,并且我构建了我的代码: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 个答案:

答案 0 :(得分:14)

这可能是你所追求的一个非常基本的例子:

{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}

答案 1 :(得分:5)

所以,这就是我最后得到的结果(由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}内联不太有用。

答案 2 :(得分:1)