Die Drupal-API hat drupal_get_path($type, $name)
, die den Pfad eines bestimmten Themas oder Moduls angeben. Was, wenn ich den Pfad des aktuellen Themas möchte?Wie bekomme ich den Pfad des aktuellen Drupal-Themes?
Antwort
Verwenden Sie die path_to_theme
Funktion.
dies sollte funktionieren (doc):
global $theme;
$path = drupal_get_path('theme', $theme);
// there's also a $theme_path global
global $theme_path;
Hallo Owen Vielen Dank für die info –
Es ist besser, 'path_to_theme()' zu verwenden, als '$ theme_path' zu verwenden. – kiamlaluno
Warum ist es besser, path_to_theme() anstelle von $ theme_path zu verwenden? – timoxley
In Drupal 5, können Sie einfach: path_to_theme()
Dies Ihnen einen vollständigen Pfad von der Wurzel von Drupal zu dem spezifischen Themenverzeichnis geben. Beachten Sie, dass es keinen abschließenden Schrägstrich enthält.
In Drupal 6 verhält sich das ein bisschen anders. Wenn Sie es von Ihren Seiten aufrufen, wird es aufrufen, was gerade das Thema macht ... ob das Ihr Thema ist, ein Modul, etc. Hier ist das Schlüssel Zitat aus der API-Dokumentation:
Es kann zeigen zum aktiven Thema oder das Modul mit einer themenorientierten Implementierung. Wenn zum Beispiel im Rahmen eines Themas Aufruf aufgerufen wird es davon abhängen, wo die Theming-Funktion behandelt wird. Wenn von einem Modul implementiert wird, wird auf das Modul zeigen. Wenn das aktive Thema implementiert ist, wird es auf das aktive Thema zeigen. Wenn sie außerhalb des Bereichs eines Theming-Aufrufs aufgerufen wird, zeigt sie immer auf das aktive Thema.
In D6 path_to_theme() in einer Weise, die Sie je nach erwarten nicht so verhalten, wie Sie es verwenden. Wenn Sie es außerhalb von Theme-Preprocess-Funktionen verwenden, wird es Ihnen wahrscheinlich geben, was Sie wollen, aber wenn es im Kontext der Funktion "Theming/Preprocess Hook" eines Moduls aufgerufen wird, zeigt es auf den Modulpfad erklärte das Thema.
Ex. Wenn ich ein Thema "my_theme" und mein Modul "my_module" habe, welches die Forenthemen über die Preprocess-Hooks überschreibt, rufe path_to_theme() in meinem Modul auf: z. my_module_preprocess_forums() ... gibt "Foren" zurück und nicht "my_theme", wie man es erwarten könnte.
Sehr fruchtig, wenn Sie mich fragen.
In Drupal 7, um den Pfad des aktuellen Themas zu erhalten, können wir verwenden: path_to_theme() Funktion.
Für D8 ist das Thema Ordner in Vorprozess Funktionen zur Verfügung:
function hook_preprocess_page(&$variables) {
$variables['some_logo_file'] = "/{$variables['theme']['path']}/images/logo.png";
}
page.html.twig:
<img src="{{ logo_src }}">
In Drupal 8
global $base_url;
$theme = \Drupal::theme()->getActiveTheme();
$image_url = $base_url.'/'. $theme->getPath() .'/images/image.jpg';
- 1. Wie bekomme ich den absoluten Pfad des aktuellen Javascript Dateinamens
- 2. Wie bekomme ich den Pfad zur aktuellen InnoSetup-Skriptdatei?
- 3. Wie bekomme ich den Pfad zum Programmverzeichnis des Startmenüs?
- 4. Wie bekomme ich den absoluten Pfad des aktuellen Arbeitsverzeichnisses von irb
- 5. Wie bekomme ich den vollständigen Pfad des aktuellen Dateiverzeichnisses in Python?
- 6. Wie bekomme ich den ersten Tag des aktuellen Monats?
- 7. Wie bekomme ich den Namen des aktuellen Verzeichnisses in Ruby?
- 8. Wie bekomme ich den Index des aktuellen ItemsControl Elements?
- 9. In clojure, wie bekomme ich den Dateinamen des aktuellen Namespace?
- 10. Wie bekomme ich den Namen des aktuellen Ziels in MSBuild?
- 11. CABasicAnimation Wie bekomme ich den aktuellen Drehwinkel
- 12. Wie bekomme ich den aktuellen TimeStamp?
- 13. Wie bekomme ich den Pfad vor Dateiname
- 14. IIS: Wie bekomme ich den Metabase-Pfad?
- 15. Ich bekomme den Benutzernamen des aktuellen Benutzers in Swift
- 16. Wie bekomme ich den absoluten Pfad vom Pfad mit Systempfadvariablen?
- 17. Wie bekomme ich den Ordnerpfad des lokalen Benutzers in C#?
- 18. Wie bekomme ich den vollständigen Weg zur Textur des Materials?
- 19. Wie bekomme ich den Namen eines übergeordneten Ordners aus dem aktuellen Pfad in einem Batch-Skript?
- 20. Wie bekomme ich den Hashwert in den user.config Pfad?
- 21. Wie kann ich den Pfad des Ordners "Anwendungsdaten" des aktuellen Benutzers ermitteln?
- 22. Wie kann ich den aktuellen Geräuschpegel des aktuellen Audioausgabegerätes erhalten?
- 23. Wie bekomme ich den aktuellen pk, auf den zugegriffen wird?
- 24. Wie bette ich den Pfad zum Ankerpfad in den aktuellen Pfad ein?
- 25. Wie bekomme ich den aktuellen Wert vom ReactiveCooco Signal?
- 26. Wie bekomme ich den aktuellen Standort in watchOS 2?
- 27. Wie bekomme ich den aktuellen Benutzernamen von Windows in silverlight?
- 28. Wie bekomme ich den aktuellen UTC-Offset (Zeitzone)?
- 29. Wie bekomme ich den aktuellen Extension-Delegaten auf watchOS?
- 30. Wie wird der Pfad des aktuellen Arbeitsblatts in VBA abgerufen?
Beachten Sie, dass, wenn von innen aufgerufen wird "theme_ *" Funktion path_to_there Pfad zum aktuellen Modul anstelle des Pfads zum derzeit aktiven Thema zurückgeben, was zu Fehlern führen kann, finden Sie weitere Details in diesem Fehlerbericht: http: //drupal.org/node/ 194098 – webdevbyjoss