【问题标题】:Pass string as variable name to for loop with nunjucks使用 nunjucks 将字符串作为变量名传递给 for 循环
【发布时间】:2020-06-22 14:56:40
【问题描述】:

我有不同的站点,具有不同的站点名称,并尝试在每个站点上获取正确的数组。所以基本上我想将变量名动态传递给for循环。

{% set sitename = "user" %}
{% set blockRef = sitename + 'Blocks' %} //result should be userBlocks

{% set userBlocks = [ 'chats', 'profile', 'settings' ] %}
{% set adminBlocks = [ 'chats', 'archive', 'profile', 'settings' ] %}


{% for blockName in blockRef %}

  //user values from userBlocks array here

{% endfor %}

但是,传递的名称被解释为文本并且不引用给定的数组。有没有办法让我的代码动态化?

【问题讨论】:

    标签: for-loop nunjucks


    【解决方案1】:
    {% set sitename = "user" %}
    {% set userBlocks = [ 'chats', 'profile', 'settings' ] %}
    {% set adminBlocks = [ 'chats', 'archive', 'profile', 'settings' ] %}
    {% set blocks = userBlocks if sitename == 'user' else adminBlocks %}
    
    {% for blockName in blocks %}
      //user values from userBlocks array here
    {% endfor %}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-12
      • 1970-01-01
      • 1970-01-01
      • 2017-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多