【问题标题】:Can a liquid for loop contain a page variable in Jekyll?液体 for 循环可以在 Jekyll 中包含页面变量吗?
【发布时间】:2016-12-28 14:19:20
【问题描述】:

假设我有一堆 _data 文件,用于为特定页面创建列表。具有这些列表的所有页面都有一个自定义前端变量pageNamepageName 的值恰好将_data 文件与列表匹配。

我不想将 html 代码块粘贴到每个页面中,而是使用include 来拉入一个通用的 html 块。为此,包含必须是动态的或包含流动标记才能变为动态。

这可能比您需要的上下文更多,但我的问题归结为这一点,可能是这样的:

{% for item in site.data.{{page.pageName}} %}
  {{ item.label }}
{% endfor %}

除非我遗漏了什么,否则这是行不通的,所以我想知道是否有办法实现类似的功能。


我找到了this similar question,但似乎没有回答是否可以用来访问页面变量来构建文件名。

【问题讨论】:

    标签: jekyll liquid


    【解决方案1】:

    您可以像这样使用括号表示法:

    {% for item in site.data[page.pageName] %}
    

    【讨论】:

    • 有什么方法可以将过滤器应用于括号符号?
    • 不!但是你可以{% assign toto = page.sidebar | anyfilter %} {% assign sidebar = site.data.sidebars[toto] %}
    猜你喜欢
    • 1970-01-01
    • 2020-05-15
    • 2013-01-07
    • 2018-11-01
    • 2014-11-21
    • 1970-01-01
    • 1970-01-01
    • 2011-07-11
    相关资源
    最近更新 更多