在Hugo中使用带有多个嵌套参数的goTemplates进行查询的正确方式,可能吗



我正在与Hugo合作,有一个关于where子句的问题。目前我正在做以下工作,效果很好。我试图再添加一个where参数,但我得到了以下错误:

问题:如何向Hugo-where子句添加多个嵌套参数。在此期间,我将继续测试它。

错误调用where:无法通过不匹配的参数或大于或等于两个参数来评估数组

作品:

{{ range where (where site.Pages "Type" "post") "Params.type" "featured"  }}
<div class="ph1-ns w-50-ns flex">
{{ .Render "li" }}
</div>
{{ end }}
</div>

失败:

{{ range where (where site.Pages "Type" "post") "Params.type" "featured" "Params.location" "nashville" }}
<div class="ph1-ns w-50-ns flex">
{{ .Render "li" }}
</div>
{{ end }}
</div>

Per Hugo:嵌套where子句您还可以嵌套where子句,以便通过多个参数在内容列表中进行深入搜索。以下内容首先抓取"博客"部分中的所有页面,然后遍历第一个where子句的结果,并查找所有未显示的页面:

在https://pkg.go.dev/text/template#pkg-概述;我选择了下面的。

<div class="w-100 flex-ns mhn1-ns flex-wrap mb3">
{{ range where (where site.Pages "Type" "post") "Params.featured" "!=" nil  }}  
{{ if(eq .Params.location "nashville")}}        
<div class="ph1-ns w-50-ns flex">
{{ .Render "li" }}
</div>
{{ else}}
Coming Soon
{{end}}
{{end}}
</div>

最新更新