带有 site.data 的 Jekyll "where" 过滤器似乎没有按预期工作
Jekyll "where" filter with site.data doesn't seem to work as expected
我正在尝试使用看起来很直接的构造,通过使用 where 过滤器从我的一个数据文件中获取单个 "record",但运气不佳。
我可以成功地使用大部分液体 features/constructs,但是这个让我很困惑。它不会在构建控制台中产生错误,而且我确信文件中的数据是好的,因为我可以通过使用 for 循环并仅使用我需要的一条记录的不太理想的途径来完成同样的事情。将此分配与 where 过滤器一起使用似乎可以正常构建,但我希望看到输出的地方是空白的。
这里是重要的代码:
products.yml:
-
id: FL01
name: Standard Kit
title: Scoring Area
price:
svg: ScoringAreasSvg
-
id: FL05
name: Full-field Kit
title: Full Field
price: 0
svg: FullFieldSvg
模板:
<div>
{% assign theproduct = site.data.products | where:"productId", "FL01" %}
<p>{{ theproduct.name }}</p>
</div>
我希望在 <p>
中看到标准套件,但它只是空的。
我觉得你应该写:
{% assign theproduct = site.data.products | where:"id", "FL01" | first %}
我正在尝试使用看起来很直接的构造,通过使用 where 过滤器从我的一个数据文件中获取单个 "record",但运气不佳。
我可以成功地使用大部分液体 features/constructs,但是这个让我很困惑。它不会在构建控制台中产生错误,而且我确信文件中的数据是好的,因为我可以通过使用 for 循环并仅使用我需要的一条记录的不太理想的途径来完成同样的事情。将此分配与 where 过滤器一起使用似乎可以正常构建,但我希望看到输出的地方是空白的。
这里是重要的代码:
products.yml:
-
id: FL01
name: Standard Kit
title: Scoring Area
price:
svg: ScoringAreasSvg
-
id: FL05
name: Full-field Kit
title: Full Field
price: 0
svg: FullFieldSvg
模板:
<div>
{% assign theproduct = site.data.products | where:"productId", "FL01" %}
<p>{{ theproduct.name }}</p>
</div>
我希望在 <p>
中看到标准套件,但它只是空的。
我觉得你应该写:
{% assign theproduct = site.data.products | where:"id", "FL01" | first %}