2017-01-31 1 views
0

웹 사이트에 MySQL 데이터베이스가 연결되어 있습니다. 내 DB에는 테이블 '사용자'가 있습니다.이 테이블은 모두 잘 짜여져 있고 일부 데스크톱 응용 프로그램과 이미 통합되어 있습니다 (즉, 변경할 수 없습니다).기존 MySQL 데이터베이스로 Drupal 설정

방금 ​​Webform 모듈과 함께 Drupal을 설정하고 등록 양식을 복제했습니다. 드루팔 (Drupal) 버전은 내부적으로 모든 것을 다르게 저장합니다. 나의 도전은 Drupal 웹 폼을 기존의 잘 구성된 데이터베이스에 저장하는 것입니다.

내 webform.api.php 파일에 hook_webform_component_presave 함수가 있습니다.이 함수는 저장 작업을 수행 할 때 여기 호출을 가로 채고 내 데이터베이스를 호출해야합니까?

+0

그래서 Drupal과 자신의 웹 사이트가 사용자 테이블을 공유하게 하시겠습니까? – Bustikiller

+0

나는 Drupal 웹 폼을 사용하려고합니다. 그렇다면 다른 사이트에 사용자를 추가 하시겠습니까? 그렇다면 Drupal 사이트를 사용하고자하는 모든 것이 있습니까? 그렇다면 새로운 Drupal 사이트의 기능 중 하나가 아닙니다. – UnsettlingTrend

+0

@UnsettlingTrend 우리는 모든 스타일링 및 기타 모듈에 대해 Drupal을 원합니다. 우리는 기존 MySQL 데이터베이스를 웹 사이트에 연결 했으므로 이전 사이트를 새로운 Drupal 사이트로 대체하고 Drupal을 만들고 싶습니다. webforms는 기존의 MySQL DB와 통합됩니다. 예, 원래 사용자 테이블 만 유지하기를 원합니다. Drupal이 모든 양식 입력을 n 이상적인 스크립트. –

답변

0

당신은 (물론 모듈에서)이 같은 조치를 제출의 양식 변경할 수 있습니다 :

function your-module-name_form_alter(&$form, &$form_state, $form_id) { 
    if ($form_id == 'your-form-id'){ 
     $form['#submit'][]='save_users'; 
    } 
} 

function save_users($form, &$form_state){ 
// Do your user saving magic here 

} 

사실,이 방법은 당신이 추가 한대로 기능을 추가. 이 방법으로 save_users()이 추가되어 $form['submit'] 개의 작업 배열에 추가됩니다.