我正在使用 IN
可以用作in SET ITEM
的Hugo函数定义于 Hugo Documentation for IN
我正在尝试通过以下代码过滤掉特定类别的帖子
{{ range where .Site.Pages "Section" "products"}}
{{ if in .Params.categories "New Arrival" }}
<li>{{ .Title }}</li>
{{end}}
{{end}}
上面的代码工作得很好。
但是,如果我对
ITEM
使用变量而不是字符串.它总是返回 False
. {{ $display_product_cat := "New Arrival" }}
{{ range where .Site.Pages "Section" "products"}}
{{ if in .Params.categories $display_product_cat }}
<li>{{ .Title }}</li>
{{end}}
{{end}}
上面的代码没有按预期工作。
想知道我是否在这里遗漏了什么。感谢您的时间和帮助。
最佳答案
您可以通过以下方式测试 bool 值是什么:
{{ $i := in .Params.categories "New Arrival" }}
{{ $i }} ## will output true|false
{{ $var := "New Arrival" }}
{{ $j := in .Params.categories $var }}
{{ $j }} ## will output true|false
如果它给出错误的结果,您可能需要检查您的
.Params
实际上是构造的(它们是什么模式,等等)。提供更多信息将为您提供更好的调试(例如您的参数片段)。
关于go - HUGO IN 函数不接受变量作为 ITEM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52405597/