我想限制显示包含布局项目的帖子数量,但这样做只会限制我的帖子。如果我在限制之后加上限制:4,我遇到了;
液体警告:液体语法错误(第50行):预期的end_of_string但在/ postouts/home.html中的“post.layout contains”项目“| limit:1”中找到了管道
液体警告:液体语法错误(第56行):预期的end_of_string但是在/ postouts/home.html
中的“post.layout contains”项目“limit:4 offset:1”中找到了id
希望有人能够轻松地看到我出错的地方。解释也很可爱。
{% for post in site.posts %}
{% if post.layout contains "project" | limit:1 %}
<h1>{{post.title}}</h1>
{% endif %}
{% endfor %}
{% for post in site.posts %}
{% if post.layout contains "project" limit:4 offset:1 %}
<h2>{{post.title}}</h2>
{% endif %}
{% endfor %}
答案 0 :(得分:0)
您只能在for循环中使用limit
和offset
。
在这里,您可以在if
语句中使用它,这就是您收到警告的原因。
更好的方法是使用where_exp过滤器。
{% assign project-posts = site.posts | where_exp: "post", "post.layout contains 'project'" %}
{% for post in project-posts limit: 1 %}
<h1>{{post.title}}</h1>
{% endfor %}
{% for post in project-posts limit:4 offset:1 %}
<h2>{{post.title}}</h2>
{% endfor %}