我想为内容编辑者提供一种指定他们想要使用的画廊的方法。现在,将输入作为字符串检索,当将其存储到旨在用作对象的变量中时,该字符串将不起作用。请查看下面的代码:
{% assign pagehandle = site.galleries.projects %}
<div class="section thumbs-grid" aria-hidden="true">
{% for image in pagehandle.images %}
<img src="{{ image | gallery_asset_url }}"/>
{% endfor %}
</div>
我从用户输入中检索到的值存储为字符串,因此如下所示:
{{ page.user-input }} // Outputs site.galleries.projects
{% assign pagehandle = page.user-input %} // Probably stored as string
上面的变量不起作用。
答案 0 :(得分:1)
"site.galleries.projects"
是一个字符串。打印此字符串将只返回字符串。
如果要访问site.galleries
数组/哈希中的属性,可以使用:
site.galleries.projects
site.galleries["project"]
site.galleries[myVar]
(无引号,无花括号)这可以工作:
{{ page.user-input }} // Outputs string "**projects**"
{% assign pagehandle = site.galleries[page.user-input] %}