Answers:
根据您的标签,您正在寻找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);
?>
您可以使用page.tpl.php文件$search_box
可用的变量。
您还可以使用图块系统,并将搜索表单块添加到页面中
管理>结构>块:搜索表单
例如,要放置在导航菜单中,将块放在区域中
“导航”
然后与CSS对齐。
例如在导航菜单的右边:
#navigation #block-search-form{
position: absolute;
right: 10px;
top: 0;
}