对于双语网站,我有2种语言的yaml数据文件。
文件示例:
en_services.yml
fr_services.yml
我页面中的变量示例:
---
lang: en
---
我想循环使用lang作为前缀的文件,类似的东西:
{% for service in site.data.{{ page.lang }}_services %}
{% endfor %}
这不起作用,我有办法吗?
顺便说一句,我认为我不能在_data文件夹中添加子文件夹,对吗?
感谢。
答案 0 :(得分:1)
您应该使用:
site.data[{{ page.lang }} + '_services']
data [i]包含_data目录中所有文件的键/值条目,并传入字符串,如下所示(对于/_data/book.yaml):
site.data['book']
...完全有效,并且可以将括号内的字符串连接到您想要的任何变量。 :)
答案 1 :(得分:1)
{% capture thefile %}{{ page.lang }}_services{% end capture %}
{% for service in site.data[thefile] %}
...
{% endfor %}
应该做的伎俩。
答案 2 :(得分:0)
虽然这不起作用,但是如果你能将它们放在同一个文件中(按照相应的语言代码分组),那么就有一个解决方案。
This gist是另一个基于帖子作者的例子,但您应该能够使用语言代码而不是作者名称来使用相同的设置。