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.

InformationsquelleAutor Denis | 2016-02-20
Schreibe einen Kommentar