2017-03-03 1 views
0

zu finden, wie der Titel schon sagt,Wie das aktuelle Thema in einem beliebigen Seite von Drupal 7

Ich brauche den Namen des Themas wissen, in jeder Drupal-Seite verwendet wird.

Zum Beispiel können wir grundsätzlich ein Standardthema und ein Adminthema für unsere Drupal-Site festlegen. Betrachten wir nun nur diesen Teil und gehen Sie nicht auf benutzerspezifische Themen ein.

Also wird im obigen Fall die Homepage mit default_theme geladen und wenn Sie mit Adminseiten arbeiten, werden sie in admin_theme (seven/bartik) geladen.

Nun ist meine Frage, ich muss wissen, welches Thema geladen wird, wenn ich zu einer beliebigen Seite der Website navigieren. Sei es ein Knoten/hinzufügen oder Knoten/bearbeiten oder admin/* oder Seite/* oder eine beliebige Seite.

Einfach wenn ich auf irgendeine Seite gehe, würde ich den Themennamen kennen, der auf dieser Seite verwendet wird und in welchem ​​Hook ich meine Bedingungen schreiben kann.

Darauf basierend möchte ich einige Änderungen vornehmen.

Ich versuchte Globals $ Thema, path_to_theme, drupal_get_path etc

Als ich sie verwende, sie immer wieder zurückkehren die Standard-Theme Namen und nicht das Thema verwendet wird, in einer bestimmten Seite verwenden.

Ich schrieb Exit-Anweisung für $ Variablen in hook_preprocess_html und es gibt Wert durch Beenden nur, wenn die Seite normale Benutzer-Seite ist. Aber nicht in Admin-Seiten wie sitename/admin/content etc.,

Jeder, der helfen kann.

Vielen Dank im Voraus

Antwort

0

ein benutzerdefiniertes Modul, erstellen und Ihren Code in Funktion hook_init put() {} in Ihrem .module.

Keine Argumente.

function example_init() { 
    global $theme; 
    print $theme.'<br />'; // current theme name 

    print $GLOBALS['theme'].'<br />'; // current theme name 

    $theme_path = drupal_get_path('theme', $GLOBALS['theme']); 
    print $theme_path.'<br />'; // path to current theme 
} 
+0

Danke für die Antwort. Könnten Sie mich bitte kurz informieren? hook_init hat keine Argumente, die in der Funktion übergeben werden sollen. Welche Variablen kann ich zur Überprüfung drucken? Es muss einige Globals gegeben haben, um sie zu bekommen. Kannst du mir etwas sagen? –

+0

Die obige Antwort wurde aktualisiert. –