Drupal 6 Drupal:显示自定义搜索结果的位置
我构建了一个带有选择框(用户可以在其中选择某种类型的用户、项目或og组)的简单块模块,并可以填写搜索词 在提交时,它查询具有这些标记的节点 结果(指向用户配置文件或节点的链接)必须打印在页面上 我不知道如何打印结果 我想转到另一个页面,并在那里显示结果。。。但是我怎么能做到呢Drupal 6 Drupal:显示自定义搜索结果的位置,drupal-6,Drupal 6,我构建了一个带有选择框(用户可以在其中选择某种类型的用户、项目或og组)的简单块模块,并可以填写搜索词 在提交时,它查询具有这些标记的节点 结果(指向用户配置文件或节点的链接)必须打印在页面上 我不知道如何打印结果 我想转到另一个页面,并在那里显示结果。。。但是我怎么能做到呢 <?php // $Id$ /* * @file * Searches on Project, Person, Freelancer or Group. Search will be done on taxon
<?php
// $Id$
/*
* @file
* Searches on Project, Person, Freelancer or Group. Search will be done on taxonomy.
*/
define('GENERAL_TAGS_VID', 25);
/**
* Implementation of hook_menu().
*/
function vm_search_menu() {
$items['zoek'] = array(
'title' => t('Zoek'),
'page callback' => 'zoek_view',
'access arguments' => array('search content'),
'type' => MENU_SUGGESTED_ITEM,
);
return $items;
}
/**
* Define the form.
*/
function vm_search_general_search_form() {
$search_on = array(
'project' => 'Zoek project',
'freelancer' => 'Zoek freelancer',
'persoon' => 'Zoek persoon',
'groep' => 'Zoek groep',
);
$form['search_on'] = array(
'#type' => 'select',
'#options' => $search_on,
);
$form['search_term'] =
array('#type' => 'textfield',
'#autocomplete_path' => 'taxonomy/autocomplete/'. GENERAL_TAGS_VID,
'#maxlength' => 1024,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Zoek'),
);
return $form;
}
function vm_search_block($op = 'list', $delta = 0, $edit = array()) {
switch ($op) {
case 'list':
$blocks[0]['info'] = t('General Search');
return $blocks;
case 'view':
$block['subject'] = t('Zoek');
$block['content'] = drupal_get_form('vm_search_general_search_form');
return $block;
}
}
function vm_search_general_search_form_submit($form, &$form_state) {
switch ($form_state['values']['search_on']) {
case 'project':
case 'groep':
$nodes = search_nodes($form_state);
break;
case 'freelancer':
case 'persoon':
$users = search_users($form_state);
}
dpm($form_state);
}
您可能可以通过多种方式处理此问题,但有两种方式可以考虑:
1.(默认搜索处理的方式)将搜索参数添加到url,以便可以在适当的页面上提取和查看这些参数。在将结果发送到菜单挂钩中定义的页面之前,不要实际查询结果。
2.更改表单的发布位置,并告诉表单不要重定向。默认情况下,表单将发回同一页面,并在文章末尾重定向。通过使用以下方法,您应该能够影响该行为:
$form['#action'] = url('zoek');
$form['#redirect'] = FALSE;
您可能可以通过多种方式处理此问题,但有两种方式可以考虑:
1.(默认搜索处理的方式)将搜索参数添加到url,以便可以在适当的页面上提取和查看这些参数。在将结果发送到菜单挂钩中定义的页面之前,不要实际查询结果。
2.更改表单的发布位置,并告诉表单不要重定向。默认情况下,表单将发回同一页面,并在文章末尾重定向。通过使用以下方法,您应该能够影响该行为:
$form['#action'] = url('zoek');
$form['#redirect'] = FALSE;