我正在使用Hugo的IN
函数,该函数可用作Hugo Documentation for IN定义的in SET ITEM
我正在尝试通过以下代码过滤掉特定类别的帖子
{{ 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}}
上述代码无法正常工作。
想知道我是否在这里遗漏了什么。感谢您的时间和帮助。
答案 0 :(得分:0)
您可以通过以下方式测试布尔值:
{{ $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
的实际构造方式(它们以什么模式等)。
提供更多信息将为您带来更好的调试效果(如Params的代码段)。