it-swarm.com.de

Wie füge ich einer twig Feldvorlage) eine Variable hinzu?

Auf einer Knotenseite möchte ich den Knotentitel neben einem anderen Feld (dem Beispielfeld) zur Ausgabe hinzufügen.

Ich habe ein neues field--field-example.html.twig Erstellt, kann jedoch nicht auf die Knotentitelvariable zugreifen, da diese in der Feldvorlage nicht verfügbar ist.

Ich muss die Variablen in den Themenvorprozess einfügen: themename.theme.

Wie füge ich die Variable in themename.theme Hinzu und was wäre der entsprechende Eintrag in field--field-example.html.twig?

9
Taylor Taff

Da Sie nach der Übergabe des Knotentitels als Variable über die .theme-Datei gefragt haben, können Sie template_preprocess_field verwenden, um Folgendes zu tun:

  function themename_preprocess_field(&$variables, $hook) {
    if ($variables['element']['#field_name'] == 'field_example') {
      $variables['node_title'] = $variables['element']['#object']->getTitle();
    }
  }

dann in deinem field--field-example.html.twig Sie könnten einfach nur {{node_title}}, um den Knotentitel zu rendern.

Siehe auch die Antwort von 4k4 unten.

15
Janey

In den Variablen der Feldvorlage ist ein Knotenobjekt verfügbar, sodass Sie keine Vorverarbeitungsfunktion benötigen.

So erhalten Sie den Titel vom Knoten in einer Feldvorlage:

{{ element['#object'].label }}
11
4k4