遍历 Eleventy / 11ty 中的全局数据子文件夹
Iterate over global data subfolder in Eleventy / 11ty
我正在使用 Eleventy 并在我的全局数据文件夹中创建了子文件夹 yummy
,其中包含以下文件:
\src\_data\yummy\drinks.json
\src\_data\yummy\food.json
当我使用 {{ yummy | dump }}
时,我得到以下输出:
{"drinks":[{"name":"Milk","price":5},{"name":"Water","price":1}],"food":[{"name":"Pizza","price":4},{"name":"Hot dog","price":2},{"name":"Sallad","price":1},{"name":"Avocado","price":3}]}
我想创建一个列表,其中包含两个 json 文件中的所有条目。我几乎已经通过以下循环实现了这一目标:
<ul>
{% for key, val in yummy %}
<li>{{ val[0].name }} cost {{ val[0].price }}$</li>
{% endfor %}
</ul>
但是,由于我使用的是 [0],因此输出只是每个 json 文件中的第一个条目:
- Milk cost 5$
- Pizza cost 4$
我想要所有条目并尝试了以下方法,但根本没有输出:
<ul>
{% for key, val in yummy %}
<li>{{ val[key].name }} cost {{ val[key].price }}$</li>
{% endfor %}
</ul>
通过添加第二个循环设法自己解决了这个问题。
<ul>
{% for key, val in yummy %}
{% for entry in val %}
<li>{{ entry.name }} cost {{ entry.price }}$</li>
{% endfor %}
{% endfor %}
</ul>
输出为:
- Milk cost 5$
- Water cost 1$
- Pizza cost 4$
- Hot dog cost 2$
- Sallad cost 1$
- Avocado cost 3$
我正在使用 Eleventy 并在我的全局数据文件夹中创建了子文件夹 yummy
,其中包含以下文件:
\src\_data\yummy\drinks.json
\src\_data\yummy\food.json
当我使用 {{ yummy | dump }}
时,我得到以下输出:
{"drinks":[{"name":"Milk","price":5},{"name":"Water","price":1}],"food":[{"name":"Pizza","price":4},{"name":"Hot dog","price":2},{"name":"Sallad","price":1},{"name":"Avocado","price":3}]}
我想创建一个列表,其中包含两个 json 文件中的所有条目。我几乎已经通过以下循环实现了这一目标:
<ul>
{% for key, val in yummy %}
<li>{{ val[0].name }} cost {{ val[0].price }}$</li>
{% endfor %}
</ul>
但是,由于我使用的是 [0],因此输出只是每个 json 文件中的第一个条目:
- Milk cost 5$
- Pizza cost 4$
我想要所有条目并尝试了以下方法,但根本没有输出:
<ul>
{% for key, val in yummy %}
<li>{{ val[key].name }} cost {{ val[key].price }}$</li>
{% endfor %}
</ul>
通过添加第二个循环设法自己解决了这个问题。
<ul>
{% for key, val in yummy %}
{% for entry in val %}
<li>{{ entry.name }} cost {{ entry.price }}$</li>
{% endfor %}
{% endfor %}
</ul>
输出为:
- Milk cost 5$
- Water cost 1$
- Pizza cost 4$
- Hot dog cost 2$
- Sallad cost 1$
- Avocado cost 3$