لدي شعار مخصص وحاولت الحصول على طريقه بهذه الطريقة theme_get_setting('logo_path')
، ولكن لا توجد نتيجة متوقعة.
أنا أستخدم الرمز في كتلة مخصصة ، في إدخال PHP.
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
بالفعل.
الرمز يزيل عنوان URL الأساسي لأن القيمة المبلغ عنها من theme_get_setting('logo')
هي مسار مطلق ؛ إذا كنت لا تحتاج إلى مسار نسبي للوصول إلى الملف ، فيمكن إزالة الجزء بين // [1]
.
عندما تم تعطيل الشعار في إعدادات السمة ، لا يُرجع theme_get_setting('logo')
أي شيء.