2014-02-10 8 views
0

저는 현재 내 응용 프로그램 내에서 cakeDC 검색 플러그인을 구현하는 방법을 찾으려고 노력하고 있습니다. 그러나 작동 시키려면 배관 작업을 이해하는 것이 매우 어렵습니다. 내 애플 리케이션 (멋지게).CakePHP- cakeDC 검색 플러그인 구현

상황이 고려해야 할 를 검색에 '라이브 서치'페이지 매김 할 필요성을 검색 기록 할 필요가 검색은 선택한 기준 (ID, 이름 등 실제 키가 아닌 값)를 사용하여 수행됩니다 및 지금은 '쿼리'라고하는 사용자 입력이 필요합니다.

여기 내 코드입니다.

모델 번호 :

public $filterArgs = array(
     'query' => array('type' => 'query', 'method' => 'filterQuery'), 

    ); 

    public function filterQuery($data = array()) { 
     $filter = $data['query']; 
     $criteria = $data['criteria']; 
     if(empty($filter)){ 
      return array(); 
     } 
     $cond = array(
      'OR' => array(
       $this->alias . $criteria. 'LIKE' => '%' . $filter . '%', 
       //ie. criteria represents a field $ filter is the data to search/match 
      )); 
     return $cond; 
    } 

그래서 내가 어떻게 내 filterQuery 방법은 정상적인 요청 데이터가 있습니다 .. $ 데이터 인수를받을 수 있습니다에 문제가있는 무슨? 제출 된 두 값에 모두 액세스하려고합니다. 여기

뷰에 대한 관련 코드 :

<div id="search-container"> 
       <?php 
       //echo $this->Form->create(false,array('type'=>'post','default'=>false)); 
       echo $this->Form->input('criteria',array(
         'label'=>'Search Criteria', 
         'options' => array(
          'id'=> 'By ID', 
          'name' => 'By Name', 
          'blood_group_id' => 'By Blood Type', 
          'type' => 'By Donor Type', 
          'age' => 'By Age', 
          'gender' => 'By Gender' 
         ) 
        )); 
       ?> 

       <?php echo $this->Form->input('query', array('type' => 'text', 'id' => 'query', 'name' => 'query', 'label' => false, 'placeholder' => 'Search')); ?> 

나는 또한이 설정

Search.Prg Component is loaded

public $presetVars = array(
     'query' => array('type' => 'value'), 
     'criteria' => array('type' => 'value'), 

    ); 

을 내 컨트롤러에서 [편집] 당연히

어떤 도움도 감사합니다. ated, 튜토리얼에 대한 링크 일지라도. 감사합니다

답변

2

제가 플러그인을 작성했을 때 나는 플러그인의 테스트 케이스에 직접 넣은 유용한 예제를 많이 만들었습니다. 그래서 행동 테스트 파일을 살펴보고 쿼리 유형 방법을 사용하는 방법을 살펴보십시오.

+0

나는 실제로 봐야 할 것이다! 감사 – LogixMaster

관련 문제