2017-10-10 13 views
0

사용자 지정 제출자 처리기가 있지만 기본 처리기가 데이터베이스에서 업데이트 한 후 사용자 지정 처리기가 db에서 업데이트 된 데이터를 검색해야합니다.데이터베이스를 업데이트하는 기본 제출 처리기에 대한 Drupal 대기

Drupal에게 기본 처리기가 완료 될 때까지 기다리는 방법을 알려주십시오. 또한 사용자 지정 처리기를 먼저 실행하는지 또는 기본값을 실행하는지 잘 모르겠습니다. 하지만 array_shift() 사용자 지정 처리기가 마지막으로 실행되도록 확인했습니다. 핸들러를 동 기적으로 실행합니까? my_custom_handler을 실행하기 전에 내가 양식을 제출하면

$form['#submit'][] = 'my_custom_handler'; 

, 내 데이터베이스 (형태의 값으로) 업데이트하려면 : 내 양식이 변경에

, 나는 내 사용자 지정 처리기를 등록이 코드가() 내 사용자 지정 처리기를 데이터베이스에서 데이터를 검색 할 수 및 업데이트 된 있어야합니다.

감사합니다.

+0

제안을하면 메뉴 항목을 만들고 양식 제출 후 메뉴 항목으로 리디렉션 할 수 있습니다. 이렇게하면 새 메뉴 항목에서 my_custom_handler를 호출 할 수 있습니다. –

답변

0

$form['#submit']은 제출 핸들러의 배열이며 처음부터 끝까지 실행됩니다. 그리고 언급 한대로 처리기를 추가하면 기본 처리기 후에 실행해야합니다. 핸들러가 디폴트 값보다 먼저 실행되기를 원할 경우에만 array_shift()가 필요합니다.

여기에서 볼 수 있듯이 처리기를 잘 추가하고 있습니다. 어딘가 다른 문제가있을 수 있습니까?