it-swarm-vi.com

Làm cách nào tôi có thể chèn hộp tìm kiếm trong page.tpl?

Làm cách nào tôi có thể chèn hộp tìm kiếm (khối tìm kiếm) trong chủ đề của mình theo chương trình?

27
Nick.h

Theo thẻ của bạn, bạn đang tìm kiếm một giải pháp D7. Drupal 7 page.tpl.php không còn biến $ search_box nữa. Tuy nhiên, bạn có thể thêm nó trong một hàm tiền xử lý trong 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;
}

Sau đó, bạn chỉ cần in biến trong page.tpl.php của bạn:

<?php print $search_box; ?>

Bạn cũng có thể sử dụng module_invoke, nhưng bạn không nên có logic php trong các tệp mẫu:

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

Làm điều đó đúng cách thay vào đó và sử dụng khối.
[.___

Sử dụng hệ thống khối thay thế; nó cho phép bạn linh hoạt hơn nữa trên đường. Bạn cũng có thể muốn kiểm tra mô-đun Blockify .

Mô-đun này hiển thị một số phần tử Drupal dưới dạng khối.

7
mortendk

Bạn có thể dùng $search_box biến có sẵn cho tệp page.tpl.php .

2
Nikola Kotur

Bạn cũng có thể sử dụng hệ thống khối và thêm khối biểu mẫu tìm kiếm vào trang trong

Quản trị> Cấu trúc> Khối: Biểu mẫu tìm kiếm

ví dụ: để đặt trong menu điều hướng, đặt khối trong khu vực

"Điều hướng"

và sau đó căn chỉnh với CSS.

ví dụ: để đặt bên phải menu điều hướng:

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