Usare stessa funzione da altra form ma usando i suoi stessi parametri

4 contenuti / 0 new
Ultimo contenuto
Usare stessa funzione da altra form ma usando i suoi stessi parametri

Se ina una form es. taxonomy_form_vocabulary vi è un pulsante che al click usa una funzione del
genere

function taxonomy_menu_vocab_submit($form, &$form_state) {
....
$vid = $form_state['values']['vid'];
$form_state['values']['taxonomy_menu']['vocab_parent']);
....
}

Se creo un mio modulo che in un'altra form richiama la stessa funzione

function mymodule_form_alter(&$form, $form_state, $form_id)
{
form['#submit'][] = 'richiama_la_submit';
}

function richiama_la_submit() {
taxonomy_menu_vocab_submit($x, $y) ;
}

Come posso fare in modo che il parametro $y sia esattamente lo stesso della prima form
taxonomy_form_vocabulary ?

Il problema è che mi trovo in un'altra form e la prima è chiusa;
quindi il php della prima non ha inviato nulla;

non so se esiste una funzione drupal o php che consenta di caricare il $form_state di una form chiusa
e quindi da un'altra form

Ciao,

l'hook submit che tu chiami
function taxonomy_menu_vocab_submit($form, &$form_state) {
invia i dati da un form $form, &$form_state appunto

l'hook form_alter non serve nel tuo caso perchè lavorerebbe all'iterno del suo modulo

quella che tu chiamo function richiama_la_submit() { è impossibile perchè come ti scrivo sopra l'hook submit invia i dati dal suo form impostato in altra funzione

quindi facciamo chiarezza: nella tua funzione inserita nel tuo modulo peschi i dati che ti occorrono ed è tutto!

Penso che il mio ragionamento sia corretto. Ciao

non ho capito cosa devi fare ma credo che al posto di
$form['#submit'][] = 'richiama_la_submit';

puoi usare

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

e dovresti avere $form e $form_state non modificate, ma dipende dal modulo, alcuni moduli modificano form_state in validate, cioè fanno validazione e modifica, per esempio taxonony lo fa quando inserisci un nuovo termine: inserisce il termine nel db e sostituisce il campo con il tid inserito. Al momento non ho capito cosa fa taxonomy_menu nella form di cui parli, però potresti controllare cosa fa il validate per sicurezza.

@anv

Fammi saper come è andata, sono curiosa...