在nunjucks宏的set语句中使用变量值

问题描述 投票:0回答:1

当我在此 nunjucks 宏的 set 语句中使用 collections.pages 时,以下代码有效。 collection_name 是/打印 collections.pages。如何在最后一行/ set 语句中使用 collection_name 的值。看起来这应该很容易,但它似乎没有评估 set 语句中 collection_name 的值。谢谢!!!

        {% set collection_name = ["collections.", rel_content_sections_post_type] | join %}

    <p>collection_name is {{ collection_name }}</p>

        {% set related_item = collection_name | findInCollectionByPropertyAndValue('data.slug', item) %} 
macros nunjucks eleventy
1个回答
0
投票

它不起作用,因为当您设置 related_item 时,collection_name 只是一个字符串,因此 Eleventy 无法使用它。但我想你可以通过使用括号表示法来访问你想要的 Eleventy 集合的属性来实现你想要的。您可以在设置 related_item 的同一行中执行此操作。像这样:

{% set related_item = collections[rel_content_sections_post_type] | findInCollectionByPropertyAndValue('data.slug', item) %}

然后您的 findInCollectionByPropertyAndValue 过滤器将接收集合对象,并且能够对其进行过滤并返回您想要的任何内容。

© www.soinside.com 2019 - 2024. All rights reserved.