Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jekyll 如何向Liquid中的数组添加新变量_Jekyll_Liquid - Fatal编程技术网

Jekyll 如何向Liquid中的数组添加新变量

Jekyll 如何向Liquid中的数组添加新变量,jekyll,liquid,Jekyll,Liquid,我有一个初始化如下的数组: chapters: - number: 13 latin: >- Some Latin text... german: >- Some German text... - latin: >- Some Latin text... german: >- Some German text... - latin: >- Some Latin text.

我有一个初始化如下的数组:

chapters:
  - number: 13
    latin: >-
      Some Latin text...
    german: >-
      Some German text...
  - latin: >-
      Some Latin text...
    german: >-
      Some German text...
  - latin: >-
      Some Latin text...
    german: >-
      Some German text...
等等

现在我想自动确定我还没有分配给章节的编号。因为我以后需要它们,所以我想把它们写进number变量,这样每个章节都有一个固定的编号

{% assign chapterNumber = 0 %}
{% for chapter in page.chapters %}
    {% if chapter.number == nil %}
        {% assign chapter.number = chapterNumber | plus: 1 %}
        {% assign chapterNumber = chapter.number %}
    {% else %}
        {% assign chapterNumber = chapter.number %}
    {% endif %}
{% endfor %}

但是,章节号将保持为空,为什么?因为它是零,不能填吗?无法将变量添加到液体中的数组中吗?

这不是数组,这是散列

同时,您可以创建和,您不能用liquid本机创建或更改散列


实现这一点的唯一方法是使用。

如果我对David的理解正确,这应该是可行的:

{% assign chapterNumber = 0 %}
{% for chapter in page.chapters %}
    {% if chapter.number == nil %}
        {% assign chapterNumber = chapterNumber | plus: 1 %}
    {% else %}
        {% assign chapterNumber = chapter.number %}
    {% endif %}

    ... code that handles the chapter and references chapterNumber

{% endfor %}

是的,我以前就是这样做的,但是由于我对不同的文件进行了分割,我不得不将这段代码复制到我想要的每个地方,以获得章节号。啊,好的!我对jekyll的开发比较了解,所以还有一些事情我不太了解。