[英]How to concatenate the value of iterator inside liquid tag (Jekyll)
我正在遍歷Yaml對象,需要將'i'的值附加到正確對象的地址上。
<div class="chapter">
{% for i in (1..7) %}
<strong class="title">{{ page.chapters.title + i }}</strong>
<ul>
{% for topic in page.chapters.ch + i %}
<li>
{{ topic }}
</li>
{% endfor %}
</ul>
{% endfor %}
</div>
數據:
---
layout: default
title: Home
chapters:
title1: "CHAPTER 1: LEADERSHIP"
ch1:
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
- Aliquam tincidunt mauris eu risus.
- Vestibulum auctor dapibus neque.
title2: "CHAPTER 2: THE EXPERIENCE"
ch2:
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
- Aliquam tincidunt mauris eu risus.
- Vestibulum auctor dapibus neque.
---
無效的部分是這樣的:
{% for topic in page.chapters.ch + i %}
我需要ch的值為ch1,ch2等...
我通過更新數據模型並創建一個嵌套循環來完成此工作:
---
chapters:
- title: "CHAPTER 1: LEADERSHIP"
chapterList:
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
- Aliquam tincidunt mauris eu risus.
- Vestibulum auctor dapibus neque.
- title: "CHAPTER 2: THE EXPERIENCE"
chapterList:
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
- Aliquam tincidunt mauris eu risus.
- Vestibulum auctor dapibus neque.
---
<div class="chapter">
{% for chapter in page.chapters %}
<strong class="title">{{ chapter.title }}</strong>
<ul>
{% for chapterItem in chapter.chapterList %}
<li>
{{ chapterItem }}
</li>
{% endfor %}
</ul>
{% endfor %}
</div>
您可以將YAML作為Ruby關聯數組進行訪問,但是使用+
運算符的內聯操作將無法使用。 您可以通過使用append
過濾器來解決此問題。
嘗試這個:
{% assign ch_key = 'ch' | append: i %}
{% for topic in page.chapters[ch_key] %}
<li>{{ topic }}</li>
{% endfor %}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.