Bolt CMS - 列出分类选项的每条记录

时间:2017-12-10 19:47:36

标签: twig taxonomy bolt-cms

我正在尝试获取每个分类法选项的列表,并在每个分类法选项下方使用该分类法选项。

这是我想要的最终结果:

家庭/朋友/家庭
诗1 诗2 导管
诗3
诗4
诗5
政治
诗6
诗7

这是taxonomy.yml:

poems:
    name: Poems
    slug: poems
    singular_name: Poem
    singular_slug: poem
    behaves_like: categories
    options: { familyfriendshome: "Family/Friends/Home", cath: "Cath", politics: "Politics", observations: "Observations", whimsical: "Whimsical", other: "Other" }
    has_sortorder: true

这是contenttypes.yml

poems:
    name: Poems
    singular_name: poem
    behaves_like: categories
    fields:
        slug:
            type: slug
            uses: name
        name:
            label: Title of Poem
            type: text
            placeholder: e.g., The Way You Look Tonight
        sortname:
            label: Name for Sorting
            type: text
            placeholder: This won't be visible on the site - it's just for sorting
        date:
            label: Date written
            type: text
            placeholder: e.g., August 2017
        text:
            type: html
            height: 300px
            #options: 
                #ckeditor: 
                    #removeButtons: 'Format,Styles,Font,Outdent,Indent,RemoveFormat,Source'
    listing_template: poemsTEST.twig
    record_template: poemdetail.twig
    taxonomy: [ poems ]
    file_under: poems
    recordsperpage: 300
    default_status: published

这是我到目前为止在列表模板中所得到的:

<ul>
    {% for poem in app.config.get('taxonomy/poems/options') %}

        <li>{{ poem }}

        {% setcontent allpoems = 'poems' where { options: 'cath' } printquery %}
            <ul>

                {% for poem in allpoems %}
                    <li>
                        <a href="{{ poem.link }}">{{ poem.title }}</a>
                    </li>
               {% endfor %}

        </li>

            </ul>

    {% endfor %}
</ul>

这就是它产生的:

家庭/朋友/家庭
诗1 诗2 诗3
诗4
诗5
诗6
诗7
导管
诗1 诗2 诗3
诗4
诗5
诗6
诗7
政治
诗1 诗2 诗3
诗4
诗5
诗6
诗7

我尝试设置选项:cath最初只是为了看它是否会选择正确的记录。如果我将printquery添加到它,我得到这个:

SELECT bolt_poems.* FROM bolt_poems WHERE ("bolt_poems"."status" = 'published') ORDER BY datepublish DESC LIMIT 9999

并列出每条记录并忽略选项。

我问不可能吗?

提前致谢

蛋白酶

P.S。我之前应该注意到的事情。后端诗歌概述页面完全具有我想要的布局(在taxonomy.yml中使用has_sortorder:true) - 分类法的名称,然后使用该分类法的所有诗歌

2 个答案:

答案 0 :(得分:0)

在你的内容中,你可以使用分类法&#39;诗歌&#39;直接

<ul>
{% for poem_taxonomy_term in app.config.get('taxonomy/poems/options') %}
    <li>{{ poem_taxonomy_term }}
    {% setcontent allpoems = 'poems' where { poem: poem_taxonomy_term } printquery %}
        <ul>
            {% for poem_record in allpoems %}
                <li>
                    <a href="{{ poem_record.link }}">{{ poem_record.title }}</a>
                </li>
           {% endfor %}
        </ul>
    </li>
{% endfor %}
</ul>

答案 1 :(得分:0)

哦,快乐。 #3儿子去救援。这几乎是完美的 - 列出了每个分类法,只有使用该分类法的诗歌。还有待完成 - 如果没有使用分类法(观察和其他),它仍然出现(没有下面的诗)。

<ul>
  {% for poem_taxonomy_term, poem_taxonomy_desc in app.config.get('taxonomy/poems/options') %}
      <li>{{ poem_taxonomy_desc }}
      {% setcontent allpoems = 'poems' %}
          <ul>
              {% for poem_record in allpoems %}
                {% if (poem_record.taxonomy['poems']['/poems/' ~ poem_taxonomy_term]) %}

                  <li>
                      <a href="{{ poem_record.link }}">{{ poem_record.title }}</a>
                  </li>
                {% endif %}
             {% endfor %}
          </ul>
      </li>
  {% endfor %}
</ul>

@jadwigo - 这是我应该从文档中解决的问题吗?

enter image description here