【问题标题】:Is there any way in Hugo by which i can put page title in range statement在 Hugo 中有什么方法可以将页面标题放在范围声明中
【发布时间】:2020-10-19 21:35:46
【问题描述】:

我试图在 Hugo 中制作一个模板页面。我想列出所有标签与当前页面标题相同的页面。有什么方法可以将“.Title”的值代替“硬编码标签”,如下面的代码所示。

<h3>Perfumes by {{ .Title }}</h3>
<div>
    <ul>
    {{ range .Site.Taxonomies.tags.hard-coded-tag }}
        <li><a href="{{ .Page.URL }}">{{ .Page.Params.perfume.name }}</a></li>
    {{ end }}
    </ul>
</div>

将“.Title”的值存储在某个变量 {{ $someVariable := .Title }} 中,并用它替换硬编码类别。我没有工作。

使用 $scratch.Set 尝试过同样的方法,但也没有用

【问题讨论】:

    标签: templates markdown hugo static-site


    【解决方案1】:

    我在my portal pages 上做这种事情。诀窍¹是使用the index function,例如这样的:

    <h3>Perfumes by {{ .Title }}</h3>
    <div>
        <ul>
        {{ range (index .Site.Taxonomies.tags .Title) }}
            <li><a href="{{ .Page.URL }}">{{ .Page.Params.perfume.name }}</a></li>
        {{ end }}
        </ul>
    </div>
    

    或者,先设置一个变量并使用它,例如:

    {{ $t := .Title }}
    
    <h3>Perfumes by {{ $t }}</h3>
    <div>
        <ul>
        {{ range (index .Site.Taxonomies.tags $t) }}
            <li><a href="{{ .Page.URL }}">{{ .Page.Params.perfume.name }}</a></li>
        {{ end }}
        </ul>
    </div>
    

    我希望这会有所帮助!

    ¹我在 discourse.gohugo.io 的线程 Regular page parameter inside a range 中了解到这一点。

    【讨论】:

    • 谢谢,伙计。它几乎没有修改。我用 ($t | urlize) 代替了 $t,它的作用就像魅力
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-01
    • 2012-08-27
    • 2012-11-09
    • 2012-12-15
    • 1970-01-01
    • 2012-06-28
    • 1970-01-01
    相关资源
    最近更新 更多