Ответы:
logo_path
Похоже, будет установлено, только если вы переопределите логотип темы по умолчанию через настройки темы. Чтобы получить логотип по умолчанию, используйте theme_get_setting('logo')
.
theme_get_setting('logo')
является пустая строка? Я установил свой собственный логотип в/admin/appearance/setting
TOGGLE DISPLAY - Enable or disable the display of certain page elements.
theme_get_setting('logo')
<a href="<?php echo theme_get_setting('logo');?>">
в блоке кода PHP, чтобы показать логотип в вашем собственном блоке.
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]
// …
}
Вызов drupal_theme_initialize () не является строго необходимым, и он ничего не делает, если глобальная переменная $theme
уже инициализирована.
Код удаляет базовый URL, потому что сообщаемое значение theme_get_setting('logo')
является абсолютным путем; если вам не нужен относительный путь для доступа к файлу, то часть между ними // [1]
может быть удалена.
Когда логотип отключен в настройках темы, theme_get_setting('logo')
ничего не возвращает.
[1]
с $logo = file_create_url($logo);
, чтобы получить полный URL - путь логотипа (с HTTP: //).
theme_get_setting('logo_path', 'THEME_NAME')
заменить THEME_NAME названием вашей темы?