2014-09-15 7 views
0

안녕하세요 저는 drupal 7에서 사용자가 프로필을 업데이트 할 때 다른 데이터베이스 테이블 필드를 업데이트하는 .Net 서비스를 호출해야합니다. True을 반환하면 False을 반환합니다. 지금은이 기능drupal에서 이전 사용자의 데이터를 되돌리는 방법 7

function user_verify_profile_form_submit($form, &$form_state) 
{ 
$account = $form_state['user']; 
} 

내에서이 서비스를 호출 이제 문제는 서비스가 나 false를 반환하면 내가 그것을 완벽하게 작동하도록하는 방법 나는 그의 이전의 데이터에 드루팔 사용자 데이터를 되돌릴 수 없다는 것입니다. 그렇지 않으면 drupal 데이터베이스는 업데이트 중이지만 해당 서비스와 관련된 데이터베이스는 업데이트 할 수 없습니다.

도움을 미리 감사드립니다.

답변

0

프로필 양식의 제출 후크에서 외부 서비스를 쿼리하고 있습니다. 이 단계에서 drupal 내부는 이미 데이터베이스를 업데이트했습니다. 이것은 드루팔 (Drupal) 문제가 아닙니다. 이것은 코드의 설계에 의한 것입니다.

외부 서비스를 제출 후크에 묶고 대기열을 사용하여 새 데이터로 "프로필 업데이트"작업을 만들고 이전 사용자 데이터를 멀리 보관할 것을 제안합니다. 또한 다른 변경 사항을 수행 할 수 없도록 사용자를 "외부 보류 중 업데이트"로 표시하십시오.

관련 문제