我将此作为我的模板:
{{ partial "header.html" . }}
<div style="padding-top:50px"></div>
<div class="grid">
<div style="background-color: #fce473; padding: 10px" class="{{ .Params.left_col_size }}">
<h1>left</h1>
<div class="grid">
<div id="content2"></div>
{{ partial "ui-components/barchart_content2.html" }}
</div>
</div>
<div style="background-color: #7bbf51; padding: 10px" class="{{ .Params.right_col_size }}">
right
</div>
</div>
{{ .Content }}
{{ partial "footer.html" . }}
成功加载了部分“ui-components / barchart_content2.html”。
然而,我真正想要的是这样的事情:
....
<div id="content2"></div>
{{ partial "ui-components/{{ Params.ui-component }}" }}
....
然后在内容中执行此操作:
+++
....
ui-component = "barchart_content2.html"
+++
以便内容编辑者可以选择呈现哪个部分而无需触摸html模板。
雨果有可能这样吗?感谢
答案 0 :(得分:2)
是的,您可以使用printf功能执行此操作。试试这个:
{{ partial (printf "ui_components/%s" .Params.ui_component) . }}
相应的前提:
+++
ui_component = "barchart_content2.html"
+++
请注意,我已将ui-component
的变量更改为ui_component
,因为Hugo变量名称中不允许使用连字符。