Twig:循环一个特定的数组

时间:2014-02-11 20:03:04

标签: twig

我一直在查看这段代码超过3天,但找不到线索。我使用Twig,但对于知道如何使用其他PHP工具的人来说,它可能是可以解决的。我不是最伟大的程序员,所以在这里:

我做了两个博客:

  • 博客/消息
  • 博客/队

现在我想在我的Index.html页面上只显示团队博客的文章。如下图所示:

的index.html

{% if shop.blogs.team %}
  {% include 'snippets/team.html' %}
{% endif %}

但无论我尝试什么,它都会显示来自新闻博客的博客文章或来自新闻和团队博客的文章:

代码段/ team.html

<div class="socialbar-blog">
  <div class="socialbar-blog-box">                
    {% for blog in shop.blogs | limit(2) %} 
      {# this says how many articles in the categorie blog must been shown #}
      {% for article in blog.articles | limit(3) %} 
        <div class="blog-article">
          <h3 class="aligncenter"><a href="{{ article.url | url }}">{{ article.title }}</a></h3>
          <p class="aligncenter">{{ article.summary }}</p>
        </div>
      {% endfor %}
    {% endfor %}
  </div>
</div>

解决方案我尝试过但没有工作:

  1. {% for blog in shop.blogs | limit(team) %}

  2. {% for blog in shop.blogs.team.title | limit(1) %}

  3. {% include 'snippets/team.rain' with {'articles': team} %}

  4. {% include 'snippets/team.rain' with {'title': 'team'} %}

  5. 如果我使用{% for blog in shop.blogs | limit(2) %}中的限制1,它只显示新闻博客,这是第一个博客。如何选择第二个阵列?或者还有其他解决方案吗? (例如,使用if / else系统)

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法。现在,该代码段仅显示了团队博客中的文章。

{% for blog in shop.blogs %}
  {% if blog.title == 'team' %}
{% for article in blog.articles | limit(3) %}

<div class="blog-article">
<h3 class="aligncenter"><a href="{{ article.url | url }}">{{ article.title }}</a></h3>
<p class="aligncenter">{{ article.summary }}</p>
</div>

{% endfor %}
  {% endif %}
{% endfor %}