【发布时间】:2018-07-23 22:54:00
【问题描述】:
您好,我正在尝试访问上一个和下一个数组中的元素。确切地说,我想访问页面的上一个和下一个 url。这就是我到目前为止所做的。谢谢!
{% assign page_venue = site.data.venues-array | where: "venueID", page.venue | first %
//This outputs the current url
{{venue.url}}
这是 yml 文件的一部分:
venueID: Red-Radish
name: Red Radish
url: redradish
building: 65
neighborhood: University Union
venueID: Poly-Deli
name: Poly Deli
url: polydeli
building: 19
neighborhood: University Union
venueID: Myrons
name: Myron's
url: myrons
previous: MustangStation
building: 19
neighborhood: University Union
假设我是第二个场地(Poly-Deli),我想看看这个:
当前网址:polydeli
上一个网址:红色
下一个网址:myrons
我尝试使用以下内容输出上一个和下一个 url,但它不起作用:
<p>{{page.next.url}}</p>
<p>{{venue.next.url}}</p>
<p>{{paginate.next.url}}</p>
<p>{{paginator.next_page}}</p>
有人帮助了我,它确实有效,但它输出了整个列表。我只想输出这样的内容,因为我有 30 个数组(30 个不同的场地):
当前网址:polydeli
上一个网址:红色
下一个网址:myrons
这是输出整个列表的代码:
{% for venue in site.data.venues-array %}
{% assign next = forloop.index0 | plus: 1 %}
{% assign previous = forloop.index0 | minus: 1 %}
<div>Name: {{ venue.name }}</div>
<div>Current URL: {{ venue.url }}</div>
<div>Previous url:{{ site.data.venues-array[previous].url }}</div>
<div>Next URL is:{{ site.data.venues-array[next].url }}</div>
<hr>
{% endfor %}
【问题讨论】:
-
好问题@Charlie805 :) 我今天早些时候更详细地研究了它,并得出结论,在不开发对数据集合进行分页的插件的情况下应用它的唯一方法是使用 JS。这是您知道该怎么做的事情,还是需要我帮忙? JS 将需要遍历场地并且只显示当前索引加上上一个和下一个 URL。下一个 / 上一个 URL 将显示 DOM 中的下一个 / 上一个数组项......等等......
-
感谢 keith,但我不知道如何使用 JS 来做到这一点。你能帮我吗?
标签: jekyll liquid jekyll-paginator