it-swarm-ko.tech

노출 된 필터 쿼리를 다른 패널 페이지에있는보기 결과 페이지로 리디렉션하는 방법은 무엇입니까?

내 설정 : Drupal 7.2, Panels 7.x-3.0-alpha3, Views 7.x-3.0-beta3, Chaos tool suite 7.x-1.0-beta1

Fruits 디렉토리 웹 사이트를 만들고 싶다고 가정 해보십시오. 보기에는 분류법 "컬러"를 기반으로 노출 된 필터가있는 컨텐츠 창 "과일"이 있습니다. 웹 사이트에는 두 개의 패널 페이지가 있어야합니다. 첫 번째 패널 페이지에는 "색상"드롭 다운과 검색 버튼이있는 노출 된 필터 상자 "과일 검색"만 표시됩니다. 드롭 다운에서 선택하고 검색 버튼을 클릭하면 사용자가 필터 (색상)와 일치하는 과일 목록을 표시하는보기의 내용 창을 포함하는 두 번째 패널 페이지로 리디렉션됩니다.

문제는 첫 페이지의 노출 된 필터 상자가 적용 버튼을 클릭 한 후 결과 페이지로 리디렉션되지 않는다는 것입니다. 이를 위해 뷰와 패널을 어떻게 설정합니까?

8
Andreas
function hook_form_alter(&$form, &$form_state, $form_id) {  
  if ($form_id=='views_exposed_form') {
    global $base_url;
    $form['#action'] = $base_url.'/path_that_you_want'; 
  }
}
7
118218

가장 간단한 해결책은보기 작성 페이지입니다. 노출 된보기 작성 고급> 노출 된 양식에서. "블록에 노출 된 양식 : 예"설정 필요한 노출 페이지에 "노출 된 양식 : ..."블록을 추가하십시오.

위의 Interlated는 공식적으로 노출 된 필터 블록을 사용하여 새 페이지에서 결과를 열고 표시하는 데 절반의 도움이되었습니다.

그러나 결과 페이지에 필터 블록이 있어야했습니다. 그래서 헤더의보기 영역을 통해 양식 (노출 된 필터 블록)을 첨부했습니다. 그런 다음 두 가지가 모두 동일한보기로 표시되면 재귀 동작이 발생했습니다.

해결하기 위해 두 개의 디스플레이 (페이지 및 블록)를 자체보기로 분리했습니다. 결과에 대한 필드를 포함하는 노출 된 필터로 하나의 블록을 만든 다음 URL에 도달 할 페이지의 완전히 새로운보기를 만들었습니다. 페이지보기에는 공백으로 덮어 쓰여진 하나의 필드 (제목)가 있습니다 (주로 결과는 중복되지만 정확하지 않기 때문에-노출 된 필터 블록의 필드에서 결과가 정확하게 표시됨). 두 디스플레이 사이에 동일한 필터링 설정을 유지하고 두 디스플레이 모두에 ajax를 사용하여 더 나은 노출 필터 를 사용했습니다.

나는 D8에서 이것을했지만 7에서 같을 것입니다.

0
vrwired

"올바른"방법이 있는지 확실하지 않지만 노출 된 필터 양식에 대해 대상을 변경하기 위해 hook_form_alter를 작성하여이를 수행했습니다.

이상적이지는 않지만 필요한 결과를 얻었습니다.

0
Mark Ferree

가장 간단한 해결책은

  • 조회 페이지 작성
  • 노출 된 뷰 만들기
  • 고급> 노출 양식에서 "블록에 노출 된 양식 : 예"설정
  • 필요한 첫 페이지에 "Exposed form : ..."블록을 추가하십시오.
0
Interlated