我想复制的默认的搜索框,并把它放在我的左侧边栏的一些块之间:所以它会在每个页面上出现两次(上它已经是和左边中间边栏)。Drupal:重复搜索块?
有一种简单的方法来复制它,然后确保这些ID的arent重复?
我想复制的默认的搜索框,并把它放在我的左侧边栏的一些块之间:所以它会在每个页面上出现两次(上它已经是和左边中间边栏)。Drupal:重复搜索块?
有一种简单的方法来复制它,然后确保这些ID的arent重复?
加挡用PHP过滤器:
print drupal_get_form('search_block_form');
或打印它在page.tpl.php中,例如,从禅宗主题:
<?php if ($search_box): ?>
<div id="search-box">
<?php print $search_box; ?>
</div> <!-- /#search-box -->
<?php endif; ?>
编辑模块的模块/搜索/ search.module的funcion search_block。 只需添加你想要尽可能多的搜索块: 代替:
我认为这会工作:
function search_block($op = 'list', $delta = 0) {
if ($op == 'list') {
$blocks[0]['info'] = t('Search form');
// Not worth caching.
$blocks[0]['cache'] = BLOCK_NO_CACHE;
$blocks[1]['info'] = t('Search form');
$blocks[1]['cache'] = BLOCK_NO_CACHE;
return $blocks;
}
else if ($op == 'view' && user_access('search content')) {
$block['content'] = drupal_get_form('search_block_form');
$block['subject'] = t('Search');
return $block;
}
}
从不编辑模块,使用钩子,主题等......如果没有办法解决,请上传到drupal.org补丁 - 这是建议的,但不是在当前的问题。 – Nikit 2010-02-12 03:40:32
我不得不为另一个模块使用它并启用它。
这是什么模块? – 2015-10-20 16:59:15
为Drupal 7,使用方法:
<?php print render(drupal_get_form('search_block_form')); ?>
这种方法是不是很安全,但速度非常快
插入正文模块。
$ form_search = drupal_get_form( 'search_block_form');
print render($ form_search);
更正确的方法:
1)中的template.php
<?php
function MYTHEME_preprocess_page(&$vars){
$search_form = drupal_get_form('search_form');
$search_form_box = drupal_render($search_form);
$vars['search_box'] = $search_form_box;
} ?>
2)编辑page.tpl在你的主题初始化的变量。添加:
<?php if ($search_box): ?>
<div id="search-box">
<?php print $search_box; ?>
</div> <!-- /#search-box -->
<?php endif; ?>
如果我已经有'echo $ left;'生成的现有块,我将如何实现这一点?如前所述,我希望它在块之间。据我所知,我不能在服务器端嵌入块。 – 2010-02-12 05:47:10
创建(添加)新块!并插入代码... – Nikit 2010-02-12 06:06:59
好吧,它似乎并没有生成它,因为它可能没有定义在那个时间点。 – 2010-02-12 09:36:31