Risposte:
logo_path
sembra essere impostato solo se si sovrascrive il logo predefinito del tema tramite le sue impostazioni del tema. Per ottenere il logo predefinito, utilizzare theme_get_setting('logo')
.
theme_get_setting('logo')
è una stringa vuota? Ho impostato il mio logo personalizzato in/admin/appearance/setting
TOGGLE DISPLAY - Enable or disable the display of certain page elements.
della theme_get_setting('logo')
non ci sono risultati. Perché ?
<a href="<?php echo theme_get_setting('logo');?>">
in un blocco di codice PHP per mostrare il logo nel proprio blocco.
global $base_url;
drupal_theme_initialize();
if (!$logo = theme_get_setting('logo_path')) {
$logo = theme_get_setting('logo');
}
if (!empty($logo)) {
// [1]
// Remove the base URL from the result returned by theme_get_setting('logo').
// If you don't need the relative path, you can remove this code.
if (strpos($logo, $base_url) === 0) {
$logo = drupal_substr($logo, drupal_strlen($base_url));
}
// [1]
// …
}
La chiamata a drupal_theme_initialize () non è strettamente necessaria e non fa nulla se la variabile globale $theme
è già inizializzata.
Il codice sta rimuovendo l'URL di base perché il valore segnalato theme_get_setting('logo')
è un percorso assoluto; se non è necessario un percorso relativo per accedere al file, è // [1]
possibile rimuovere la parte tra .
Quando il logo è stato disabilitato nelle impostazioni del tema, theme_get_setting('logo')
non restituisce nulla.
[1]
con $logo = file_create_url($logo);
per ottenere il percorso URL completo del logo (con http: //).
theme_get_setting('logo_path', 'THEME_NAME')
sostituire THEME_NAME con il nome del tuo tema?