2017-02-14 32 views
0

Если у меня есть две очень похожие способы перечисления сообщения двух различных категорий:Джекил: _include в котором перечислены сообщения данной категории

{% if site.categories.News | size > 0 %} 
    <ul> 
     {% for post in site.categories.News %} 
      <li><a href="{{ post.url }}">{{ post.title }}</a></li> 
     {% endfor %} 
    </ul> 
{% else %} 
<p>There are no news posts available</p> 
{% endif %} 


{% if site.categories.Blog | size > 0 %} 
    <ul> 
     {% for post in site.categories.Blog %} 
      <li><a href="{{ post.url }}">{{ post.title }}</a></li> 
     {% endfor %} 
    </ul> 
{% else %} 
<p>There are no blog posts available</p> 
{% endif %} 

Это заставляет меня чувствовать себя, как это может быть _include, где категория может быть передан как параметр, который включает, например, {% include listposts.html category=News %}

Однако из-за синтаксиса site.categories.(News/Blog), я не уверен, как передать в переменной категории, site.categories.(include.category) не будет работать, так как CAT в site.categories.CAT является буквальным, а не переменная. Кто-нибудь знает, как я могу сделать эти два одинаковых блока кода одним _include, который может передать категорию как параметр?

+0

Попытка получить доступ к ним в качестве ключа в массиве как site.categories [ 'Новости «] – marcanuy

ответ

0

Ваш включать параметр должен выглядеть следующим образом: {% include listposts.html category=site.categories.News %}

Затем файл listposts.html может через них, как это:

{% if include.category %} 
    <ul> 
    {% for post in include.category %} 
     <li><a href="{{ post.url }}">{{ post.title }}</a></li> 
    {% endfor %} 
    </ul> 
{% else %} 
    <p>There are no blog posts available</p> 
{% endif %} 

 Смежные вопросы

  • Нет связанных вопросов^_^