2010-03-17 3 views
1

내 page.tpl.php 페이지에 <?php print $search_box; ?>이 있습니다. 존재하는 페이지에서 검색은 작동하지만 404 페이지에서는 그렇지 않습니다. Drupal 5 검색이 404 페이지에서 작동하지 않습니다.

내가

내가 가진 몇 가지 버그/패치가 D6.15에 대한 drupal.org에 이상 스레드,하지만 그들 중 누구도 스레드에 따라 제대로 작동하지 그들은 D5.x

에 정말 관련이없는 있었다 보았다 이론은 <?php print $search_box; ?>이 자체 (비 존재 페이지)에 대한 작업이 포함 된 양식을 작성하기 때문에 404가 표시됩니다.

누구와도 비교할 수 있습니까? 그렇다면 어떻게 수정 했습니까?

내가 가지고있는 이론 중 하나는 양식에 들어가서 항상 존재할 행동 = "/"(앞 페이지)을 만드는 것이 었습니다.

이것이 좋은 생각 인 경우 FormAPI를 두드리고 작업을 덮어 쓰는 방법은 무엇입니까? 전처리 기능입니까? form alter에서

답변

2
  1. 당신은을에서 Fx 검색 형태로 $form['#action'] 속성을 설정 alter입니다 양식에 당신이 할 수있는, 표시되는 페이지는 404
  2. 경우가 404 인 경우 확인 drupal_get_headers()을 사용할 수 있습니다 전면 페이지 또는 사용자를 리디렉션하려는 다른 페이지로 이동하십시오.

테스트하지는 않았지만 제대로 작동합니다.

+0

올바른 경로로 나를 잡았습니다. preprocess_page에 $ 양식에 대한 액세스 권한이 없었지만 drupal_get_headers가 404 인 경우 검색 작업을 바꿀 수있었습니다. – easement

관련 문제