2011-01-20 2 views
0

노출 된 필터가있는보기와 Finder 모듈을 사용하여 작업을 검색하는 웹 사이트가 있습니다. 조건 중 하나는 월급 범위이며 영국 파운드로 4 개의 옵션이있는 선택 상자에 표시됩니다. 그러나 클라이언트가 사용자에게 다른 통화를 표시 할 수있는 옵션을 요청했습니다."불법 선택"오류를 던지지 않고 Drupal 6에서 양식 값을 스푸핑하는 방법

사용자가 다른 통화를 선택할 수있는 모듈을 만들었습니다. 통화를 포함하는 세션 변수를 차례로 설정합니다. 사용자가 파인더 검색 양식 또는 뷰 노출 필터가 포함 된 페이지를 볼 때 Drupal은 세션 변수의 값에 따라 선택 상자의 표시 값을 변경하는 JQuery를 추가합니다. 그러나 선택 옵션의 실제 값은 사용자가 볼 수있는 것만 변경합니다.

불행히도 게시 된 폼 배열이 Drupal에 저장된 폼 배열과 일치하지 않기 때문에이 메서드는 "잘못된 선택이 사이트 관리자에게 문의하십시오."오류가 발생합니다. 그래서 문제는이 오류가 발생하는 것을 어떻게 막을 수 있습니까? 제출 버튼을 클릭 한 사용자와 양식을 실제로 제출하는 사이의 값을 어떻게 바꿀지는 모르겠지만 제출하기 바로 전에 JQuery에 의해 재설정되는 양식 값을 생각하고있었습니다. 또 다른 선택은 아마도 hook_form_alter가 양식 값을 변경하는 것이지만, 이것이 올바르게 작동하는지 확실치 않습니다.

아이디어가 있으십니까?

답변

0

흥미가있는 사람이라면 hook_form_alter를 사용하는 새로운 모듈을 만들었습니다. 후크는 통화에 대한 추가 버튼을 추가하고 제출되면 통화 정보를 포함하는 세션 변수를 설정합니다. 모듈이 세션을 읽을 때 세션 값을 기준으로 실제 급여 밴드 필드를 변경합니다.

관련 문제