我有一个自定义徽标,并且我尝试过这种方式theme_get_setting('logo_path')
,但没有得到预期的结果。
我在输入PHP的自定义块中使用代码。
我有一个自定义徽标,并且我尝试过这种方式theme_get_setting('logo_path')
,但没有得到预期的结果。
我在输入PHP的自定义块中使用代码。
Answers:
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?