it-swarm.asia

كيفية الحصول على مسار الشعار في Drupal 7؟

لدي شعار مخصص وحاولت الحصول على طريقه بهذه الطريقة theme_get_setting('logo_path') ، ولكن لا توجد نتيجة متوقعة.

أنا أستخدم الرمز في كتلة مخصصة ، في إدخال PHP.

7
Ek Kosmos

logo_path يبدو أنه تم تعيينه فقط إذا تجاوزت شعار السمة الافتراضي عبر إعدادات السمة الخاصة به. للحصول على الشعار الافتراضي ، استخدم theme_get_setting('logo').

7
user7
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') أي شيء.

4
kiamlaluno