سؤال

نعم، ما زلت في Drupal 5.لا تسخر.

لقد قمت بإنشاء فئة باستخدام وحدة التجميع، وعنوان URL الخاص بالفئة هو www.example.com/aggregator/categories/2.كيف أقوم بموضوع هذا؟هل هي عقدة يمكن تصميمها باستخدام قالب، أم أن هناك عملية أخرى يجب علي استخدامها؟

يحرر:للتوضيح، أريد إضافة بعض النصوص مباشرة أسفل الرأس، وليس مجرد موضوع لعناصر التجميع الفردية.آسف، لقد تركت ذلك في البداية.

هل كانت مفيدة؟

المحلول

إلقاء نظرة على مصدر (مفيد دائما):

  • انظر الى hook_menu(), ، "جهاز التوجيه url" الخاص بدروبال ، نحن نرى الذي - التي aggregator/categories/2 يتم التعامل معه من قبل
  • aggregator_page_category().تقوم هذه الوظيفة بجلب بعض البيانات ثم الاتصال _aggregator_page_list(), ، والذي بدوره يدعو
  • aggregator_page_list().تتكرر هذه الوظيفة عبر جميع عناصر الخلاصة (while ($item = db_fetch_object($result))) في الفئة المحددة و
  • المواضيع لهم مع theme('aggregator_page_item', $item) *

ها هي نقطة السمة الخاصة بك (تجاوز السمة)، والتي يمكن تخصيصها باستخدام قالب (أو وظيفة سمة مخصصة).

يحرر:يبدو أن تصميم/تعديل الرأس أمر صعب مع معيار Drupal 5.أنظر إلى المصدر مرة أخرى: _aggregator_page_list() ما عليك سوى ربط جميع عناصر الخلاصة (ذات السمة) ولفها في ملف <div id="aggregator">, ، ويضيف رمز النداء والخلاصة - لا يوجد شيء يمكن ربطه هنا. _aggregator_page_list() يحتوي على وسيطة ثالثة اختيارية $header والتي من شأنها أن تفعل بالضبط ما تريد - لسوء الحظ، لا يتم استخدام هذه الحجة ل aggregator/categories/2.لذا، لإضافة بعض النص إلى الرأس، سيتعين عليك الاختراق aggregator.module.

أو قم بالترقية إلى Drupal 6، الذي أضاف تجاوز السمة للغلاف:

foreach ($items as $item) {
  $output .= theme('aggregator_item', $item);
}
$output = theme('aggregator_wrapper', $output);

تعديل النهاية

لمعرفة كيفية تصميم موضوع Drupal 5، راجع http://drupal.org/theme-guide/5 , القالب.php:تجاوز وظائف الموضوع الأخرى, السمات المناسبة لوحدة التجميع, theme() مستند API, ، إلخ.إلخ.

حظ سعيد!

* ويضيف بعض التعامل مع الفئات ويغلف جميع العناصر في حاوية واحدة أو أخرى

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top