2009-08-12 3 views
1

나는 선택 상자 (사용자가 특정 유형의 사용자 또는 프로젝트 또는 그룹을 선택할 수있는 곳)를 사용하여 간단한 블록 모듈을 만들고 검색 용어를 채울 수 있습니다.Drupal : 사용자 지정 검색 결과를 표시 할 위치

제출시 논문 태그가있는 노드를 쿼리합니다.

결과, 사용자 프로필 또는 노드에 대한 링크를 페이지에 인쇄해야합니다.

결과를 인쇄하는 방법을 모르겠다.

다른 페이지로 이동하여 결과를 표시하고 싶습니다. 어떻게 할 수 있습니까?

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

당신은 아마 당신이 고려할 수있는 방법의 수 있지만이 처리 할 수 ​​
이 1 (방법의 기본 검색이 그것을 처리)가 추출 될 수 있도록 URL로 검색 PARAMS 추가 및에 볼 적절한 페이지. 메뉴 후크에서 정의한 페이지로 보낼 때까지 결과를 실제로 쿼리하지 마십시오.
2. 양식의 게시 위치를 변경하고 리디렉션하지 않도록 양식에 알리십시오. 기본적으로 양식은 게시물의 끝에 동일한 페이지로 다시 게시되고 리디렉션됩니다. 다음을 사용하면 해당 동작에 영향을 줄 수 있습니다.

$form['#action'] = url('zoek'); 
    $form['#redirect'] = FALSE; 
관련 문제