Respuestas:
logo_path
parece que solo se establece si anula el logotipo predeterminado del tema a través de la configuración del tema. Para obtener el logotipo predeterminado, use theme_get_setting('logo')
.
theme_get_setting('logo')
es una cadena vacía? He puesto mi logotipo personalizado en/admin/appearance/setting
TOGGLE DISPLAY - Enable or disable the display of certain page elements.
la theme_get_setting('logo')
no tiene resultados. Por qué ?
<a href="<?php echo theme_get_setting('logo');?>">
en un bloque de código PHP para mostrar el logotipo en su propio bloque.
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 llamada a drupal_theme_initialize () no es estrictamente necesaria, y no hace nada si la variable global $theme
ya está inicializada.
El código está eliminando la URL base porque el valor informado theme_get_setting('logo')
es una ruta absoluta; Si no necesita una ruta relativa para acceder al archivo, // [1]
se puede eliminar la parte intermedia .
Cuando el logotipo se ha deshabilitado en la configuración del tema, theme_get_setting('logo')
no devuelve nada.
[1]
con $logo = file_create_url($logo);
el fin de obtener la ruta URL completa del logotipo (con el http: //).
theme_get_setting('logo_path', 'THEME_NAME')
reemplazar THEME_NAME con el nombre de tu tema?