Ich versuche herauszufinden, wie man ein gemeinsames Link-Feld in Drupal 8 mit einer HTML-Entität (wie ») erweitern kann. Mein erster Versuch war eine Vorverarbeitungsfunktion für das Feld. Leider habe ich nicht die html
Möglichkeit, den Link zu true
Hier zu setzen verwalten, wie ich es versuchtLink-Feld-Ausgabe auf Drupal Twig Template erweitern
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>»</span>";
$variables['items'][$idx]['content']['#url']->setOption('html', true);
}
}
}
Dies funktionierte nicht. Die einzige Lösung, die ich gefunden habe, war das manuelle Generieren eines Links in der Vorlage. Mit nur fühlt sich nicht richtig an. Hier ist, wie ich es tat
<a href="{{ node.field_slideshow_link.0.url }}">{{ node.field_slideshow_link.0.title }} <span>»</span></a>
Hat jemand eine Idee, wie Sie dieses Problem eleganter lösen?
Danke. Das funktioniert. Immer noch nicht sicher, ob es der richtige Weg ist, dies zu tun. Aber hey immer noch lernen Drupal 8 –
@JensHeidrich Ich kam auf die Idee, indem ich in den Quellcode sah. Wenn es gerendert wird, sieht es aus, wenn es vom SafeMarkup-Typ ist. Wenn es nicht alles ist, wird HTML maskiert. Bitte akzeptieren Sie dies als richtige Antwort auf diese kann geschlossen werden – VJamie