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