Drupal 8 和 Twig 获得语言
Drupal 8 and Twig get language
我想获取在节点中的 drupal 8 站点上选择的实际语言,并在例如语言是"en"放一些内容。
这是我已经尝试过的方法:
{% global language %}
{% set lang_name = language %}
{{ lang_name }}
和
{{ app.session.locale }}
{{ app.request.locale }}
但它不起作用。
有人可以提示我如何通过 drupal 8 上的树枝获取语言吗?或者这根本不可能吗?
我认为你需要在 php 中设置 $language 在 twig 中使用 {% global language %}
之前:
$language = \Drupal::languageManager()->getCurrentLanguage()->getId();
在您的 XXX.theme 文件中:
function XXX_preprocess_node(&$variables) {
$language = \Drupal::languageManager()->getCurrentLanguage()->getId();
$variables['language'] = $language;
}
在您的节点模板中:
{{ language }}
对于语言 ID,您可以使用:
{{ language.getId() }}
对于语言名称:
{{ language.getName() }}
例如:
{% if language.getId() == 'sr' %}
<p>Zdravo svete!</p>
{% elseif language.getId() == 'hu' %}
<p>Helló világ!</p>
{% else %}
<p>Hello world!</p>
{% endif %}
对于分类术语,您可以这样做:
{{ term.langcode.langcode }}
我想获取在节点中的 drupal 8 站点上选择的实际语言,并在例如语言是"en"放一些内容。
这是我已经尝试过的方法:
{% global language %}
{% set lang_name = language %}
{{ lang_name }}
和
{{ app.session.locale }}
{{ app.request.locale }}
但它不起作用。 有人可以提示我如何通过 drupal 8 上的树枝获取语言吗?或者这根本不可能吗?
我认为你需要在 php 中设置 $language 在 twig 中使用 {% global language %}
之前:
$language = \Drupal::languageManager()->getCurrentLanguage()->getId();
在您的 XXX.theme 文件中:
function XXX_preprocess_node(&$variables) {
$language = \Drupal::languageManager()->getCurrentLanguage()->getId();
$variables['language'] = $language;
}
在您的节点模板中:
{{ language }}
对于语言 ID,您可以使用:
{{ language.getId() }}
对于语言名称:
{{ language.getName() }}
例如:
{% if language.getId() == 'sr' %}
<p>Zdravo svete!</p>
{% elseif language.getId() == 'hu' %}
<p>Helló világ!</p>
{% else %}
<p>Hello world!</p>
{% endif %}
对于分类术语,您可以这样做:
{{ term.langcode.langcode }}