Фильтр Jekyll "where" с site.data не работает должным образом - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь использовать то, что кажется простой конструкцией, чтобы получить одну «запись» из одного из моих файлов данных с помощью фильтра where, без особой удачи.

Я могу успешно использовать большинство жидких элементов / конструкций, но это меня озадачило. Это не приводит к ошибке в консоли сборки, и я точно знаю, что данные в файле хороши, потому что я могу выполнить то же самое с помощью менее оптимального пути использования цикла for и использования только одной нужной мне записи. Использование этого присваивания с фильтром where выглядит нормально, но место, где я ожидаю увидеть вывод, пусто.

Вот важный код:
products.yml:

-
  id: FL01
  name: Standard Kit
  title: Scoring Area
  price: $80
  svg: ScoringAreasSvg

-
  id: FL05
  name: Full-field Kit
  title: Full Field
  price: $220
  svg: FullFieldSvg

шаблон:

<div>
    {% assign theproduct = site.data.products | where:"productId", "FL01" %}
    <p>{{ theproduct.name }}</p>
</div>

Я бы ожидал увидеть стандартный комплект в <p>, но он просто пуст.

1 Ответ

0 голосов
/ 11 января 2019

Я думаю, вы должны написать:

{% assign theproduct = site.data.products | where:"id", "FL01" | first %}
...