Collegamento modulo di registrazione con tassonomia
Salve a tutti,
ho inserito un campo nel modulo di reguistrazione utente chiamato codice.
Nelle tassonomie ho creato un vocabolario struttura e inserito un campo codice.
Ora, quando creo un nuovo utente, devo confrontare se il codice inserito corrisponde a quello della tassonomia.
Mi sapere dire come posso risolvere?
Grazie, Marco.
Marco Catarinicchia
Drupal Freelancer
Via San Maurizio, 152
10073 - Ciriè (TO)
Risposte
Dipende da quello che devi
Dipende da quello che devi fare e dalla piattaforma che usi... diciamo che utilizzi Drupal 7. Se vuoi intercettare i valori prima che l'utente sia salvato devi usare il seguente hook
hook_user_presave
https://api.drupal.org/api/drupal/modules%21user%21user.api.php/function...
tale hook viene utilizzano ogni qualvolta venga salvato un utente quindi sia in fase di creazione di un utente nuovo che in fase di aggiornamento di un utente esistente
se invece lo vuoi intercettare dopo la creazione dell'utente devi usare il sente hook
hook_user_insert
https://api.drupal.org/api/drupal/modules%21user%21user.api.php/function...
tale hook viene utilizzano ogni qualvolta venga salvato un utente nuovo. NON viene invece invocato durante l'aggiornamento.
Ciao se non vuoi creare
Ciao se non vuoi creare moduli, puoi provare ad usare il modulo Rules .. dipende sempre da quello che devi ottenere!
Posto tu abbia un vocabolario Struttura i cui termini hanno un campo Codice ("field_codice"), presente anche nei profili utente in fase di registrazione, puoi utilizzare una rule simile:
{ "rules_check_tassonomia_su_registrazione" : {
"LABEL" : "Check tassonomia su registrazione",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"REQUIRES" : [ "commerce", "rules" ],
"ON" : { "user_presave" : [] },
"IF" : [
{ "entity_exists" : {
"type" : "taxonomy_term",
"property" : "field_codice",
"value" : [ "account:field-codice" ]
}
}
],
"DO" : [
{ "entity_query" : {
"USING" : {
"type" : "taxonomy_term",
"property" : "field_codice",
"value" : [ "account:field-codice" ],
"limit" : "1"
},
"PROVIDE" : { "entity_fetched" : { "struttura" : "Struttura" } }
}
},
{ "drupal_message" : { "message" : "Corrisponde ad un codice esistente!" } }
]
}
}
in questo caso se il codice fa match con quello di uno dei termini, il sistema mostra un messaggio. Estendendo la rule con condizioni e/o azioni puoi coprire un gran numero di casi d'uso.
Speo ti sia utile.