Twig 细枝:确定菜单项是否有翻译
在我的Drupal8设置中,我配置了两种语言(德语:默认值,英语)。并非所有页面都有英文翻译,但它们会显示在导航中 我想突出显示那些链接到当前所选语言中没有翻译的页面的菜单项 那么我怎样才能在小树枝上做到这一点呢?当我转储菜单项时,我看到一个MenuLinkContent类的对象,它有一个字段实体,可能包含以下答案:Twig 细枝:确定菜单项是否有翻译,twig,drupal-8,Twig,Drupal 8,在我的Drupal8设置中,我配置了两种语言(德语:默认值,英语)。并非所有页面都有英文翻译,但它们会显示在导航中 我想突出显示那些链接到当前所选语言中没有翻译的页面的菜单项 那么我怎样才能在小树枝上做到这一点呢?当我转储菜单项时,我看到一个MenuLinkContent类的对象,它有一个字段实体,可能包含以下答案: object(Drupal\menu_link_content\Plugin\Menu\MenuLinkContent)[31277] [...] protected
object(Drupal\menu_link_content\Plugin\Menu\MenuLinkContent)[31277]
[...]
protected 'entity' =>
object(Drupal\menu_link_content\Entity\MenuLinkContent)[31407]
[...]
protected 'translations' =>
array (size=2)
'x-default' =>
array (size=2)
...
'en' =>
array (size=2)
...
[...]
但我似乎无法真正读取这些值。很简单,首先,您必须通过主题预处理将当前语言添加到任何变量中
yourtheme_preprocess(&$vars, $hook)
{
$language = \Drupal::languageManager()->getCurrentLanguage()->getId();
$vars['langcode'] = $language;
}
现在在你的细枝模板中,你必须检查你的实体是否有翻译
{% if node.hasTranslation(langcode) %}
{% set node = node.getTranslation(langcode) %}
{% endif %}
如果我已经在目标页面上,这肯定会有帮助。但我想从导航中确定这一点。因此,我需要的是从导航/菜单项到目标节点的链接。