go - HUGO IN 函数不接受变量作为 ITEM

标签 go hugo go-templates

我正在使用 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/

相关文章:

firebase - 如何在 Go 中验证 App Engine 上的 Firebase ID token

html - 如何告诉 Sublime Text 突出显示 HTML 中的 Go 代码?

go - 在 Go 文本模板中遍历 map

go - 如何使用 Go Templates (Helm) 应用递归格式?

javascript - GO 中的长轮询,服务器没有适当响应?

shell - 如何在 golang 中获取 gcloud 命令的结果?

hugo - 为什么 Hugo 提供空白页?

html - 可以使用 Hugo 提供 D3.js 可视化吗?

pointers - 如何通过引用设置接口(interface){}参数?

Golang GORM有很多关系