如何使用{{一个变量[在一个变量内]}}?

时间:2019-07-14 19:42:12

标签: jekyll liquid

我是Jekyll和Liquid的新手,我正在尝试做一件事,但我不知道如何使它工作。

基本上:

index.php

(我认为)

但是:

this.works[well]

这就是我的问题:如何在“变量路径”中插入单个变量?

基本上,我现在想从_data文件夹中调用不同语言的文本字符串。 我想做的事情类似于:

_data / en.yml:

this.does.[not].work
this.does[not]work
[this].does.not.work
[this]does.not.work

页面前题:

hello: ‘Hello!’

必须在其中显示字符串的地方:

lang: en

任何合适的方法吗?

知道我将有数十个这样的字符串,因此它应该尽可能紧凑。

1 个答案:

答案 0 :(得分:0)

好吧,我知道了,是:

site.data[page.lang].hello

我有一个后续问题,就是我也将这些字符串传递给了include。

这不起作用,并给出语法错误:

{% include box.html text=site.data[page.lang].hello %}

所以我必须做这样的事情:

{% assign hello=site.data[page.lang].hello %}
{% include box.html text=hello %}

这很长很愚蠢:我最后写了3次(!)我的变量名,并创建了很多重复的变量。

任何人都知道如何写而不写我的字符串名称3次吗? 谢谢!

(更愚蠢的是,因为可以在include的第一部分中使用带[]的变量,但不能在第二部分中使用[]?

{% include site.data[page.lang].box text=hello %}

例如可以工作...)