2013-05-15 18 views
5

Ad ve e-posta alanları içeren bir web formum var. form gönderildiğinde isim ve e-posta veritabanında saklanmalı ve bir PDF dosyası indirilmeye başlamalıdır.drupal7'de bir web formu gönderme işlevini nasıl geçersiz kılar?

Sorum, web formunun gönderme işlevinin nasıl geçersiz kılınacağıdır, böylece bundan sonra bu ekstra işlevi ekleyebilir miyim?

+0

hook_form_alter() ve gönderme işleyicilerine bakın. Burada örnekleri: http://drupal.stackexchange.com/questions/18641/how-do-i-alter-the-form-submission-handler –

cevap

12

hook_form_alter() uygulamasıyla özel bir modül oluşturmanız gerekir.

function [YOUR_MODULE]_form_alter(&$form, &$form_state, $form_id) 
{ 
    if($form_id == "YOUR_FORM_ID") 
    { 
     // target the submit button and add a new submission callback routine to the form 
     $form['#submit'][] = 'YOUR_SUBMISSION_CALLBACK_FUNCTION'; 
    } 
} 

Yukarıdaki kod YOUR_SUBMISSION_CALLBACK_FUNCTION formun varsayılan geri arama işlevi SONRA yeni geri arama fonksiyonunu çalıştırır.

yerine yukarıda verme aşağıdaki kodu kullanın, yeni geri arama işlevi formun varsayılan geri arama işlevi ÖNCE denilen yapmak için: Formun varsayılan geri arama işlevini iptal etmek için

array_unshift($form['#submit'], 'YOUR_SUBMISSION_CALLBACK_FUNCTION'); 

ve kullanmaya zorlamak senin SADECE fonksiyon ,

$form['#submit'] = array('YOUR_SUBMISSION_CALLBACK_FUNCTION'); 

Umut bu yardım aşağıdaki kodu kullanabilirsiniz.

+2

Cevabınız çok açıklayıcıdır. Aynen böyle devam!!! – Pupil

+0

Ancak bu gönderim işlevinde gönderim değerlerini nasıl alacağız? Ben dpm ($ form) denedim ve – pal4life

+0

Coolio bulundu, bu parametreler ve $ form & $ form_state olarak parametreler ile işlev başlatmak zorunda bulundu sonra – pal4life