it-swarm-id.com

Bagaimana saya bisa memasukkan kotak pencarian di page.tpl?

Bagaimana saya bisa memasukkan kotak pencarian (blok pencarian) di tema saya secara terprogram?

27
Nick.h

Menurut tag Anda, Anda sedang mencari solusi D7. The Drupal 7 page.tpl.php tidak memiliki variabel $ search_box lagi. Namun Anda dapat menambahkannya dalam fungsi preproses di template.php Anda:

<?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;
}

Maka Anda hanya perlu mencetak variabel di page.tpl.php Anda:

<?php print $search_box; ?>

Anda juga bisa menggunakan module_invoke, tetapi Anda seharusnya tidak memiliki logika php dalam file templat:

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

Lakukan dengan cara yang benar dan gunakan blok.
Elemen hardcoding di dalam page.tpl, adalah IMHO salah satu hal yang masih mengambang sejak "masa lalu yang indah."

Gunakan sistem blok sebagai gantinya; itu memberi Anda jauh lebih banyak fleksibilitas di ujung jalan. Anda mungkin juga ingin memeriksa modul Blockify .

Modul ini memperlihatkan sejumlah elemen inti Drupal sebagai blok.

7
mortendk

Anda dapat menggunakan $search_box variabel yang tersedia untuk --- page.tpl.php file.

2
Nikola Kotur

Anda juga dapat menggunakan sistem blok dan menambahkan blok formulir pencarian ke halaman di

Admin> Struktur> Blok: Formulir pencarian

mis. untuk menempatkan di menu navigasi, letakkan blokir di wilayah tersebut

"Navigasi"

lalu sejajarkan dengan CSS.

mis. untuk diletakkan di sebelah kanan menu navigasi:

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