我想在一个节点中获取在Drupal8站点上选择的实际语言,并在语言为"en“时启动一个if-request来发布一些内容。
这是我已经尝试过的:
{% global language %}
{% set lang_name = language %}
{{ lang_name }}和
{{ app.session.locale }}
{{ app.request.locale }}但是它不起作用。谁能给我一个提示,我如何在Drupal8上通过twig获得语言,或者这是完全不可能的吗?
发布于 2016-05-20 23:58:14
在XXX.theme文件中:
function XXX_preprocess_node(&$variables) {
$language = \Drupal::languageManager()->getCurrentLanguage()->getId();
$variables['language'] = $language;
}在您的节点模板中:
{{ language }}发布于 2016-05-13 17:33:58
我认为你需要先在php中设置$language,然后才能在twig中使用{% global language %}:
$language = \Drupal::languageManager()->getCurrentLanguage()->getId();发布于 2017-11-03 19:39:43
对于语言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 %}https://stackoverflow.com/questions/37186520
复制相似问题