在Drupal Twig Template上扩展链接字段输出

时间:2016-05-06 09:30:06

标签: drupal twig drupal-8

我正在试图弄清楚如何使用HTML实体(如»)扩展Drupal 8中的公共链接字段。 我的第一次尝试是该领域的预处理功能。很遗憾,我无法将链接的html选项设置为true 这是我尝试的方式

function MYTHEME_preprocess_field(&$variables) {
  if ($variables['element']['#field_name'] == 'field_slideshow_link'){
    foreach ($variables['items'] as $idx => $item) {
      $variables['items'][$idx]['content']['#title'] = $variables['items'][$idx]['content']['#title'] . " <span>&raquo;</span>";
      $variables['items'][$idx]['content']['#url']->setOption('html', true);
    }
  }
}

这不起作用。因此,我提出的唯一解决方案是在模板中手动生成链接。只是感觉不对劲。这就是我做的方式

  <a href="{{ node.field_slideshow_link.0.url }}">{{ node.field_slideshow_link.0.title }} <span>&raquo;</span></a>

有谁知道如何更优雅地解决这个问题?

1 个答案:

答案 0 :(得分:0)

也有这个问题。找到以下解决方案

$url = [
'#title' => new FormattableMarkup('&@text;', ['@text' => t('raquo')]);
//The rest
];

这是否与像span这样的html元素一起使用,因此不确定它是否适用于此。让我知道!