أريد إضافة منطقة جديدة ستكون على مستوى الموقع. وصف عملية إدخال هذه المنطقة الجديدة في موضوعي ، وتعميمها إن أمكن لإضافة أي منطقة مخصصة جديدة.
يمكنك تحديد المناطق في ملف معلومات السمة الخاص بك. انظر: هيكل ملف .info
ستحتاج بعد ذلك إلى وضع علامات القالب ذات الصلة في ملف page.tpl.php الخاص بك.
لذلك على سبيل المثال ، إذا قمت بتعريف المنطقة sidebar
في ملف السمات .info الخاص بك ، فستضيف بعد ذلك: <?php print render($page['sidebar']); ?>
إلى المكان ذي الصلة في صفحة. tpl.php.
نقطة أخرى: لا تفوت المناطق المطلوبة!
regions[content] = Content
regions[help] = Help
regions[page_top] = Page top
regions[page_bottom] = Page bottom
يمكن العثور على المزيد حول هذا في http://drupal.org/update/themes/6/7#closure .
لتوضيح هذه النقطة: إذا قمت بتحديد مناطقك الخاصة ، فأنت بحاجة إلى تحديد كل ما تستخدمه ، بما في ذلك تلك المطلوبة. بمعنى آخر ، لا يمكنك فقط تحديد مناطق إضافية: إذا قمت بتحديد أي منطقة ، فيجب عليك تحديدها جميعًا.
إنشاء منطقة لمنطقة Drupal 7 لا يختلف عن إنشاء منطقة لمنطقة Drupal 6؛ الاختلافات بين Drupal 7 والإصدارات السابقة هي في الأساس:
mytheme_regions()
كما تم في Drupal 5 ، ولكن تم تعريفها في mytheme.info باستخدام توجيهات regions[]
، وهو ما يتم أيضا مع Drupal 6 مواضيع.render()
، بدلاً من طباعة محتوى متغير.المناطق Drupal 7 الافتراضية هي المناطق التالية:
regions[header] = Header
regions[highlighted] = Highlighted
regions[help] = Help
regions[content] = Content
regions[sidebar_first] = Left sidebar
regions[sidebar_second] = Right sidebar
regions[footer] = Footer
تتضمن موضوعات دروبال 7 الأساسية الآن منطقة تسمى "مميزة" تستخدم نفس شاشة منطقة بيان المهمة في Drupal 6 ؛ وهي تتضمن أيضًا منطقة باسم "مساعدة" ، والتي تحتوي بشكل افتراضي على نفس محتوى المتغير $help
المستخدم بواسطة Drupal 6.
يتم تحديد مناطق السمة في ملف معلومات السمة الخاص بك - راجع مستندات . ما عليك سوى إضافة سطر مع regions[corner] = Corner
للحصول على منطقة ركن.
ثم تحتاج إلى تحرير ملف page.tpl.php وإضافة <php print render($corner); ?>
حيث تريد أن تظهر المنطقة. إذا لم يكن السمة الخاصة بك تحتوي على page.tpl.php ، فانسخ من السمة الأساسية أو من وحدة النظام.
المخاطر المشتركة:
إذا لم يكن ملف theme.info يحتوي على مناطق معلن عنها ، فإنه يستخدم Drupal. إذا كنت تريد الإضافة ، فسيتعين عليك إعادة إعلان المناطق الافتراضية. يمكنك بالطبع ، قم بإزالة أي منطقة ولكن يرجى دعم المناطق المطلوبة. انظر docs مرة أخرى.
لن يتم ملاحظة التغييرات في ملف .info أو إضافة ملفات جديدة إلى السمة (مثل page.tpl.php) إلا بعد مسح ذاكرة التخزين المؤقت.
أوميغا ، سمة أساسية شائعة جدًا ، لن تحتاج إلى أي تغيير في page.tpl.php ، ملف .info فقط. ولكن سيتعين عليك زيارة إعدادات السمة في واجهة المستخدم وتعيين منطقتك إلى منطقة.
اتبع الخطوات التالية لإنشاء منطقة مخصصة في السمة الخاصة بك:
انتقل إلى ملف theme.info وأضف هذا السطر.
regions[machine_name_of_your_region] = Name of your region
على الرغم من أنه يمكنك أيضًا استدعاء كتل المنطقة في قالب العقدة أيضًا ، إلا أنك ستضيف المنطقة عمومًا إلى قالب صفحة السمة. عادة ما يكون هذا هو page.tpl.php ، أو إذا كان لديك ملفات قوالب مخصصة لصفحات مختلفة ، فقم بتحريرها أيضًا. ستظهر المنطقة الجديدة فقط على الصفحات التي تم إنشاؤها حول القالب الذي تضيف المنطقة الجديدة إليه. الصقه أينما تريد أن تظهر منطقتك الجديدة.
<?php if ($page['machine_name_of_your_region']): ?>
<div id="sidebar-first" class="column sidebar"><div class="section">
<?php print render($page['machine_name_of_your_region']); ?>
</div></div> <!-- /.section, /#sidebar-first -->
<?php endif; ?>
التكوين - الأداء - محو جميع ذاكرة التخزين المؤقت
تحتاج فقط إلى تعريفه في ملفين.
;;;;;;;;;;;;;;;;;;;;;
;; Regions
;;;;;;;;;;;;;;;;;;;;;
regions[navigation] = 'Navigation'
regions[header] = 'Top Bar'
regions[highlighted] = 'Highlighted'
regions[new_region_name] = 'Region Name' ;; Add New Region
الآن تقديم هذه المنطقة
<?php if ($page['new_region']): ?>
<div class="new_region_class">
<?php print render($page['new_region']); ?>
</div>
<?php endif; ?>
الآن امسح كل ذاكرة التخزين المؤقت ، ها أنت ذا ، لديك منطقة جديدة في موضوعك. يمكنك رؤيتها في صفحة تكوين الكتلة الخاصة بك.
لمزيد من الزيارة http://drupal.org/node/171205