it-swarm.asia

كيف يمكنني إدراج مربع البحث في page.tpl؟

كيف يمكنني إدراج مربع بحث (كتلة بحث) في موضوعي برمجيًا؟

27
Nick.h

وفقًا لعلامتك ، فأنت تبحث عن حل D7. Drupal 7 page.tpl.php لم يعد متغير $ search_box بعد الآن. ومع ذلك ، يمكنك إضافته في وظيفة ما قبل المعالجة في template.php:

<?php
/*
 *  Preprocess page.tpl.php to inject the $search_box variable back into D7.
 */
function MYTHEME_preprocess_page(&$variables){
  $search_box = drupal_render(drupal_get_form('search_form'));
  $variables['search_box'] = $search_box;
}

ثم تحتاج فقط إلى طباعة المتغير في page.tpl.php:

<?php print $search_box; ?>

يمكنك أيضًا استخدام module_invoke ، ولكن لا يجب أن يكون لديك منطق php في ملفات القالب:

<?php
  $block = module_invoke('search', 'block_view', 'search');
  print render($block); 
?>
39
ipwa

افعل ذلك بالطريقة الصحيحة واستخدم الكتلة.
عناصر الترميز الثابت داخل page.tpl ، هي IMHO أحد الأشياء التي لا تزال تطفو منذ "الأيام الخوالي".

استخدم نظام الكتلة بدلاً من ذلك ؛ يمنحك المزيد من المرونة في المستقبل. قد ترغب أيضًا في التحقق من الوحدة النمطية Blockify .

هذه الوحدة تكشف عن عدد من العناصر الأساسية Drupal عناصر ككتل.

7
mortendk

يمكنك استخدام ال $search_box المتغير المتاح لملف page.tpl.php .

2
Nikola Kotur

يمكنك أيضًا استخدام نظام الحظر وإضافة قالب نموذج البحث إلى الصفحة فيه

Admin> Structure> Blocks: Search form

على سبيل المثال ، لوضعه في قائمة التنقل ، ضع الكتلة في المنطقة

"ملاحة"

ثم قم بالمحاذاة مع CSS.

على سبيل المثال لوضع قائمة التنقل اليمنى:

#navigation #block-search-form{
  position: absolute;
  right: 10px;
  top: 0;
}
1
David Thomas