Respuestas:
logo_pathparece 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 $themeya 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?