在循环中修改的变量不会在循环外持续存在

Variable modified in loop does not persist outside the loop

{% set title_org = nav_item.title.split(" ") %}
{% set title_mod = "" %}
{% for i in title_org %}
  {% if loop.index > 3 %}
    {% set title_mod = title_mod + ' ' + i %}
  {% endif %}
{% endfor %}
<a href="{{ nav_item.url }}" id="{{ id }}">{{ title_mod }}</a>

{{ title_mod }} 是一个空字符串,尽管在循环中连接。如何在 for 循环之外检索更新的 {{ title_mod }}

你应该像

一样使用array/dictionary
<p style="display:none;">
{% set title_data = {'org': nav_item.title.split(" "), 'mod' : ""} %}
{% for i in title_data.org %}
  {% if loop.index > 3 %}
    {{ title_data.update({'mod' : title_data.mod + ' ' + i}) }}
  {% endif %}
{% endfor %}
</p>
<a href="{{ nav_item.url }}" id="{{ id }}">{{ title_data.mod }}</a>

看起来像 dupe