Submitted by ltkassad on
Bonjour,
J'ai un soucis avec l'implémentation d'un module me permettant de modifier la redirection suite à la création d'un compte par un utilisateur.
La création du compte et soumis à l'approbation de l'admin, donc par défaut on est redirigé sur la page d'accueil, je souhaite redirigé le internaute sur un page particulière.
Mais ça ne marche pas.
J'ai suivi cette procédure :
http://drupal.org/node/134000
J'ai donc un module, custom_redirection, avec deux fichiers un .info et un .module contenant :
<?php
function custom_redirection_form_alter(&$form, $form_state, $form_id) {
switch ($form_id) {
case 'user_register':
$form['#redirect'] = 'ma/page';
break;
}
}
$form_id semble être bon, de tout manière j'ai testé avec un peu toute les possibilités
Petite particularité j'ai dans mon template.php une fonction permettant de changer le texte du bouton 'submit' et le formulaire passe par user-register-block.tpl.php pour l'affichage.
La fonction en question :
function montheme_theme() {
return array(
'comment_form' => array(
'template' => 'comment-form-block',
'arguments' => array('form' => NULL)),
'user_register' => array(
'template' => 'user-register-block',
'arguments' => array('form' => NULL))
);
}
function montheme_preprocess_user_register(&$variables) {
$variables['form']['submit']['#value']="Valider";
$variables['rendered']=drupal_render($variables['form']);
}
Avez vous une idée du pourquoi ça ne marche pas ?
Question subsidiaire : y a t-il un moyen de vérifier que l'appel de mon module et de ma fonction marche ?
Merci d'avance !
Pas vraiment besoin d'un
Permalien Soumis par emerya le 8 Avril, 2010 - 23:35
Pas vraiment besoin d'un module pour ça. Il te suffit de changer le lien vers le formulaire d'inscription et de le nommer user/register?destination=ton_url.
Normalement ça fonctionne.
Juste une suggestion avant
Permalien Soumis par brainboxasia le 9 Avril, 2010 - 05:36
Juste une suggestion avant de partir dans du dev.
Le module login tobogan ne fait il pas l'affaire ?
Cette solution si elle marche
Permalien Soumis par ltkassad le 9 Avril, 2010 - 10:30
Cette solution si elle marche me va parfaitement, par contre question bête comment je peux le modifier ce lien ?
Merci en tous les cas.
Dans l administration du
Permalien Soumis par brainboxasia le 9 Avril, 2010 - 10:38
Dans l administration du module ( menu user) tupeux changer la redirection apres confirmation et apres registration.
Il suffit d entrer l url.
BB
Tu parle du module tobogan
Permalien Soumis par ltkassad le 9 Avril, 2010 - 10:59
Tu parle du module tobogan ?
Parce que ma question était pour emerya et sa solution, disons que dans un premier temps je préfèrerai ne pas changer de module car tout le reste est en place.
Merci en tous les cas.
Oui, bon ma solution est
Permalien Soumis par emerya le 10 Avril, 2010 - 11:02
Oui, bon ma solution est peut-être un peu compliquée pour toi, et j'avoue qu'elle ne fonctionne pas dans toutes les configurations.
Donc conseil de remplacement : pourquoi ne pas plutôt utiliser le module trigger du core de Drupal?
Tu ajoutes une action (redirection vers une URL) et ensuite tu l'assigne à "un utilisateur s'est logué".