如何使用撇号工作流在nunjucks文件中的撇号中获取当前语言环境

哈基莫维奇

我只是从撇号和撇号工作流开始,如果这看起来很明显,请对不起。
我目前正在尝试在标题中添加语言下拉菜单。我以下拉菜单中所有语言环境都存在的方式工作,但是我试图做的是在下拉菜单中显示当前语言,并隐藏其他语言,代码可能更明确:

 <ul class="navbar-nav nav-flex-icons">

          <a class="nav-link dropdown-item" href="#" id="lang-dropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            <pre>{{ apos.i18n | dump}}</pre>
            {# I WANT THE CURRENT LANGUAGE HERE but I don't know where to find it #}
          </a>

          <div class="dropdown-menu" aria-labelledby="lang-dropdown">
            {% for localization in apos
              .workflow
              .localizations() %}
                  {% if localization.name != CURRENT_LOCALE_I_CANT_FIND %}
                    <a class="dropdown-item" href="{{ localization._url | build({ workflowLocale: localization.workflowLocale }) }}">
                      <span class="flag-icon flag-icon-{{localization.workflowLocale.split('-')[1] | lower}}"></span>
                      {{ localization.label }}
                    </a>
                  {% endif %}
            {% endfor %}
          </div>
        </ul>

希望您能有所帮助,并先谢谢您。

亚历克斯比

您可以使用apos.workflow.lang()README中提到的HTMLlang属性来获得活动语言,这与HTML属性有关,但是它也可以用于在切换器中设置活动项目。

我最近在一个项目上使用了它。与您类似,ul使用CSS和JS将其变成一个下拉选择器,并button打开它切换开关,同时还显示活动语言。第一个循环和条件语句用于获取活动语言的可读标签,因为它lang()返回语言/区域代码。

{% set lang = '' %}
{% set activeLocale = apos.workflow.lang() %}
{% for l in apos.workflow.localizations() %}
  {% if l.workflowLocale === activeLocale %}
    {% set lang = l.label %}
  {% endif %}
{% endfor %}
<button type="button" data-role="lang-toggle">
  <span>{{ lang }}</span>
</button>
<ul data-role="lang-list">
  {% for locale in apos.workflow.localizations() %}
    {% if locale.workflowLocale !== activeLocale %}
      <li>
        <a href="{{ locale._url | build({ workflowLocale: locale.workflowLocale }) }}" >{{ locale.label }}</a>
      </li>
    {% endif %}
  {% endfor %}
</ul>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章