Respostas:
logo_path
parece ser definido apenas se você substituir o logotipo padrão do tema por meio de suas configurações de tema. Para obter o logotipo padrão, use theme_get_setting('logo')
.
theme_get_setting('logo')
é uma string vazia? Pus o meu logotipo personalizado em/admin/appearance/setting
TOGGLE DISPLAY - Enable or disable the display of certain page elements.
da theme_get_setting('logo')
não tem nenhum resultado. Por quê ?
<a href="<?php echo theme_get_setting('logo');?>">
em um bloco de código PHP para mostrar o logotipo em seu próprio bloco.
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]
// …
}
A chamada para drupal_theme_initialize () não é estritamente necessária e não faz nada se a variável global $theme
já estiver inicializada.
O código está removendo o URL base porque o valor relatado theme_get_setting('logo')
é um caminho absoluto; se você não precisar de um caminho relativo para acessar o arquivo, a parte entre elas // [1]
poderá ser removida.
Quando o logotipo foi desativado nas configurações do tema, theme_get_setting('logo')
ele não retorna nada.
[1]
com $logo = file_create_url($logo);
a fim de obter o caminho completo da URL do logotipo (com o http: //).
theme_get_setting('logo_path', 'THEME_NAME')
substituir THEME_NAME pelo nome do seu tema?