2016-04-18 9 views
1

ジキルで空の配列を作成しましたが、データをプッシュできません。 ここでは、行う方法について説明しますが、私のマシンでは動作しないようです。私は2.5.3ジキルでプッシュできません

  {% assign selected = site.array %} 
      {% for success in site.data.success %} 
       {% assign selected = selected | push: success.id %} 
      {% endfor %} 

site.arrayが、私はsuccess.idが存在することを確信している

site.array: [] 

として私_config.ymlに定義されているジキルを使用

UPDATE 1

_config.ymlで変更しました

array: [] 

まだ運がありません。

答えて

1

_config.ymlsite.somethingを定義するのはなぜですか?

ここで定義されている変数は接頭辞siteでアクセスされますが、この接頭辞を追加するのはあなた次第であるため、Jekyllが処理します。例:{{ site.title }}site: My awesome titleを指します。それは自動です。

emptyArray: []と定義し、site.emptyArrayでアクセスしてください。

site.array: []では、yamlキーが文字列であると考えられるため、site.site.arrayにならない構成変数を定義しています。変数にアクセスする唯一の方法は、site["site.array"]と書くことです。

注:可能であれば、新しいバージョンのJekyllにアップグレードしてください。

+0

こんにちは、お返事ありがとうございました。私はあなたのソリューションを試したが、プッシュはまだ動作していません。私も質問を更新しました。他のリード? –

+0

「site.data.success」は? –

0

ジキルが空の配列「青色から」を受け入れるかどうかはわかりません。

{% if site.array %} 
{% assign selected = site.array %} 
{% for success in site.data.success %} {% assign selected = selected | push: success.id %} 
{% endfor %} 
{% endif %} 

そして、ちょうどarray:あなた_config.yml内に保つ:

ので、forループの前にifステートメントを使用してみてください。このファイルに定義されている変数は、site.variableによって呼び出されます。

コードが空であることを確認するために、配列内の値を空にする前に試してみることをお勧めします。

お役に立てば幸いです!

関連する問題