2016-09-10 1 views
1

Ich bin neu in Drupal, ich möchte Domain-URL übergeben, um in menu.html.twig Vorlage zu verwenden. Wie kann ich das machen. Eigentlich habe ich ein Menü mit 5 Domains, die alle auf dieselbe Drupal-Instanz verweisen. Basierend auf dem Domain-Namen möchte ich das Menü aktiv machen.Drupal 8, wie man einen Wert an Menü Zweig Vorlage

Dank

Antwort

2

Erweiterung von Arreactors Antwort, da das OP nicht zu vertraut mit Drupal ist.

Erstellen Sie ein Modul mit einem beliebigen Namen. Wenn Sie Hilfe benötigen, werfen Sie einen Blick auf Drupal Console, es wird Ihnen helfen.

Im Ordner Ihres Moduls finden Sie eine Datei modul_name.module.

Hier finden Sie den Code von Artreaktor gegeben hinzufügen:

function mymodule_preprocess_menu(&$vars) { 
    $domain = \Drupal::service('domain.negotiator')->getActiveDomain(); 
    $vars['domain'] = $domain->getUrl(); 
} 

mymodule hier für den Namen des Moduls steht. Vergiss nicht, dein Modul zu aktivieren und den Cache zu löschen!

2

Sie können es in hook_preprocess_hook tun (& $ vars).

function mymodule_preprocess_menu(&$vars) { 
    $domain = \Drupal::service('domain.negotiator')->getActiveDomain(); 
    $vars['domain'] = $domain->getUrl(); 
} 

Jetzt können Sie {{domain}} Variable in Ihrem Zweig verwenden.

+0

Hallo, Vielen Dank für Ihre Unterstützung. Ich bin neu in Drupal-Code .. Kann ich diese Funktion in meiner theme.inc-Datei hinzufügen ....? – user739350

+0

Verwenden Sie diesen Code entweder in Ihrem benutzerdefinierten Design (mytheme.theme) oder in Ihrer Moduldatei (mymodule.module). Sie sollten "mymodule" durch den tatsächlichen Namen Ihres Themas oder Moduls ersetzen. –

Verwandte Themen