it-swarm.com.de

Holen Sie sich den Site-Namen in eine benutzerdefinierte Vorlage

Ich möchte den Site-Namen in einer benutzerdefinierten Vorlage drucken (page--front.html.twig).

{{ site_name }} Funktioniert nicht.

Wenn ich {{ page['#title'] }} Verwende, erhalte ich nur "Willkommen bei [Site-Name]".

Ich suche nach einer Möglichkeit, nur den Site-Namen zu drucken. Weiß jemand, wie man das erreicht?

Vielen Dank!

7
Stefan

Fügen Sie dies dem YOUR_THEME.theme Datei:

function YOUR_THEME_preprocess_page(&$variables) {
  $variables['site_name'] = \Drupal::config('system.site')->get('name');
}

Und dann das in deinem page--front.html.twig Vorlage:

{{ site_name }}
11
Aram Boyajyan

Einige Dinge haben sich von Drupal 7 bis Drupal 8.) geändert. Eines der Dinge, die sich geändert haben, ist, dass es eine wirklich gute Idee ist, Blöcke zu verwenden, anstatt sie abzurufen und dieses Zeug selbst rendern. Der Hauptgrund ist das Zwischenspeichern.

Was Sie wahrscheinlich tun möchten, ist, den Site-Branding-Block irgendwo auf der Seite zu platzieren (kann Site-Namen, Logo und/oder Slogan anzeigen). Viele der Dinge, die in Themen fest codiert wurden, sind jetzt Blöcke.

Dies war mit großen Anstrengungen verbunden, da es das Caching und enorme Leistungssteigerungen ermöglicht, die in Drupal 8) erreicht wurden.

Wenn Sie es wirklich auf die Drupal 7-Weise) tun möchten, zeigt Ihnen die Antwort von @ Aram, wie es mit einem Vorverarbeitungs-Hook gemacht wird.

6
googletorp

Ja in D8 twig template Dateien, in die Sie keinen Code schreiben können, um Daten abzurufen.

Wenn Sie Daten benötigen, müssen Sie die Variablen in der Funktion preprocess festlegen und diese verwenden.

1
DRUPWAY