إضافة صفحة أنماط تعاقبية عن طريق Drupal API

في أغلب الأحيان إضافة صفحة أنماط تعاقبية عن طريق الملف .info يكون كافياً لكن هذا الملف جامد في بعض الأحيان و حسب الطريقة المستعملة من خلال التيم صفحات الأنماط التعاقبية لايمكن إضافتها بشكل ديناميكي
في حال ترددك استعمل الملف .info
API functions يوفر دالتين الأولى drupal_add_css و الثانية drupal_get_css لإضافة صفحات الأنماط التعاقبية :
في ما يلي مثال لكيفية إضافة صفحات الأنماط التعاقبية بشكل ديناميكي بواسطة هذة الدوال
عليك تبديل كلمة drop باسم تيمك المفعل

<?php
function drop_preprocess_page(&$variables) {
  $front_style = path_to_theme() .'/front-page.css';
  $path_style = path_to_theme() .'/path-'. arg(0) .'.css';

  if (file_exists($front_style) && $variables['is_front']) {
    $include_style = $front_style;
  }
  elseif (file_exists($path_style)) {
    $include_style = $path_style;
  }

  if (isset($include_style)) {
    drupal_add_css($include_style, 'theme', 'all', FALSE);
    $variables['styles'] = drupal_get_css();
  }
}
?>

في هذا المثال صفحة الأنماط التعاقبية المتحكمة في عرض الصفحة الرئيسية front-page.css ستستعمل لعرض الصفحة الرئيسية و الصفحات أخرى انطلاقاً من المسار الداخلي مثال http://example.com/admin ستستعمل صفحة الأنماط التعاقبية التي تحمل اسم على شكل path-admin.css

ملاحظات:

  • حسب توقيت و مكان إضافة صفحة الأنماط التعاقبية يتوجب نداء الدالة drupal_get_css لضم هذه الصفحات
    تستطيع الاطلاع على template_preprocess_page لمزيد من المعلومات حول كيفية ضم صفحة الأنماط التعاقبية
  • drupal_add_cs يتضمن إعداد يتوجب تعطيله عند إضافة صفحة الأنماط التعاقبية بشكل ديناميكي لتفادي تحمل الموقع عبئ إضافي و بطئه

آخر المشاركات

 

أوسمة الموقع