Drupal 8 Taxonomie-Begriff in twig
Ich will verbessern Sie den Titel einer Seite mit einem Taxonomie-Begriff Wert, der festgelegt wurde, in einem Feld.
So der Titel sieht wie folgt aus:
Titel - [taxonomy-term-Wert]
Ändern Sie den Titel, ich überschrieb
field--node--title--[content-type].html.twig
So weit So gut, der Zugriff auf den Knoten selbst und die anderen Felder werden gebeten, durch das element-Objekt:
element['#object'].get('field_my_field').get(0)
Um das erste element.
element['#object'].get('field_my_field').get(0)['target_id']
liefert die tid der Taxonomie-Begriff. Aber
element['#object'].get('field_my_field').get(0)['name']
gibt ein leeres element.
Wie kann der Wert des Feldes abgerufen werden? Ich kann mir nicht vorstellen, dass dies erfordert php-code.
Update:
Ich habe einen Weg herausgefunden, aber es scheint ein bisschen kompliziert:
Da die Taxonomie-Begriffe werden nicht aufgelöst # - Objekt, ich mußte eine hook_preprocess:Feld Funktion zum vorbereiten einer variable mit den notwendigen Daten:
function myTheme_preprocess_field(&$variables, $hook){
if ($variables['field_name'] == 'title'){
$variables['my_field'] = Term::load($variables['element']['#object']->get('my_field')->get(0)->getValue()['target_id']);
}
Bereich kann jetzt zugegriffen werden, in den Zweig wie folgt:
{{ my_field.name.getValue()[0]['value'] }}
Mir scheint dies wie eine Menge Arbeit, so einen eher geradlinigen Ansatz ist geschätzt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Drupal 8, wenn man nur die TID der Begriff, den contrib-Modul Zweig Zwicken lassen soll, bekommt der Begriff name by doing :
Sollte diese Arbeit!
EDIT:
Beim Zugang zu den Namen, einen Begriff (oder einem beliebigen Feld) ändert sich abhängig von der template-code ist in.
Wenn Sie in einem Absatz die Vorlage, die Sie verwenden würden:
Wenn Sie in der Vorlage:
Mir, sieht aus wie Sie benötigen, um eine ordnungsgemäße page_suffix für die Seite-Titel.html-Code.Zweig Vorlage, bevölkert von Ihren benutzerdefinierten Modul