Antworten:
Verwenden Sie list_themes
$ refresh : Gibt an, ob die Liste der Themen aus der Datenbank neu geladen werden soll. Der Standardwert ist FALSE.
Ein assoziatives Array der derzeit verfügbaren Themen. Die Schlüssel sind die Computernamen der Themen und die Werte sind Objekte mit den folgenden Eigenschaften:
Verwenden Sie path_to_theme , um ein aktives Thema zu erhalten.
Es kann auf das aktive Thema oder das Modul verweisen, das eine thematische Implementierung behandelt. Wenn es beispielsweise im Rahmen eines Theming-Aufrufs aufgerufen wird, hängt es davon ab, wo die Theming-Funktion ausgeführt wird. Wenn es von einem Modul implementiert wird, zeigt es auf das Modul. Wenn es aus dem aktiven Thema implementiert wird, zeigt es auf das aktive Thema. Wenn es außerhalb des Bereichs eines Themenaufrufs aufgerufen wird, zeigt es immer auf das aktive Thema.
Die Daten werden tatsächlich genau an der gleichen Stelle gespeichert, der system
Tabelle. Ich konnte keine vorhandene Funktion zum Überprüfen finden (obwohl es wahrscheinlich irgendwo eine gibt), aber dies sollte zur Not tun:
function theme_exists($theme_name) {
$themes = list_themes();
return isset($themes[$theme_name]) && $themes[$theme_name]->status == 1;
}
theme_exists
, um mögliche Probleme mit dem Themensystem zu umgehen