11

我正在尝试为我的帖子下方的导航链接做一个循环。这是进入posts.html的_layout

我无法获取不显示帖子是最后一篇还是第一篇的链接。任何帮助都是极好的。

{% for post in site.posts %}

    {% if post.previous != forloop.last %}
        ← 最后
    {% elsif post.next != forloop.first %}
        下一个 →
    {% 万一 %}

{% endfor %}
4

3 回答 3

22

我有更好的运气使用 page.next/previous

    {% if page.previous %} 
        <a rel="prev" href="{{ page.previous.url }}">&larr; Older</a>
    {% endif %}
    {% if page.next %} 
        <a rel="next" href="{{ page.next.url }}">Newer &rarr;</a>
    {% endif %}
于 2010-01-11T01:51:35.367 回答
1

更改您的if陈述以检查是否post.previous存在。

{% if post.previous %}
<span class="page-nav-item">
    <a rel="prev" href="{{ post.previous.url }}" title="View {{ post.previous.title }}">&larr; View previous article</a>
</span>
{% endif %}
{% if post.next %}
<span class="page-nav-item">
    <a rel="next" href="{{ post.next.url }}" title="View {{ post.next.title }}">View next article &rarr;</a>
</span>
{% endif %}
于 2010-01-10T21:56:38.637 回答
0

将图像添加到您的链接背景。要显示图像,只需添加image: [image location]您的 YAML 前端内容

<div class="postNav clearfix">
    {% if page.previous.url %} 
      <a class="prev{% if page.previous.image %} image{% endif %}" href="{{ page.previous.url }}"><span>&laquo;&nbsp;{{ page.previous.title }}</span>
      {% if page.previous.image %} 
        <img src="{{ '/assets/blog-img/' |  append: page.previous.image }}" alt="">
      {% endif %}
    </a>
    {% endif %}  
    {% if page.next.url %}  
      <a class="next{% if page.next.image %} image{% endif %}" href="{{ page.next.url }}"><span>{{ page.next.title }}&nbsp;&raquo;</span>
      {% if page.next.image %} 
        <img src="{{ '/assets/blog-img/' | append: page.next.image }}" alt="">
      {% endif %} 
      </a>
        {% endif %}
 </div> 
于 2015-06-11T19:44:25.430 回答