私はカスタムロゴを持っているので、この方法で彼のパスを取得しようとしましたがtheme_get_setting('logo_path')
ですが、期待される結果はありません。
入力ブロックのカスタムブロックでコードを使用しています。
_logo_path
_は、テーマの設定でテーマのデフォルトのロゴを上書きする場合にのみ設定されるようです。デフォルトのロゴを取得するには、theme_get_setting('logo')
を使用します。
_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
_がすでに初期化されている場合は何もしません。theme_get_setting('logo')
から報告される値は絶対パスであるため、コードはベースURLを削除しています。ファイルへのアクセスに相対パスが必要ない場合は、_// [1]
_の間の部分を削除できます。
ロゴがテーマ設定で無効にされている場合、theme_get_setting('logo')
は何も返しません。