La solution proposée ici consiste à utiliser les paramètres de la méthode CHtml::submitButton() pour rajouter un paramètres GET à l'adresse d'envoi du formulaire. Ce paramètre (appellons-le 'envoi') a la valeur 1 ou 0 selon que l'on souhaite envoyer ou seulement sauvegarder (comme brouillon).
<div class="row buttons"> <?php echo CHtml::submitButton('Envoyer',array( // optionnel (pour le style) 'class' =>'button', // premier bouton : envoyer // On utilise la paramètre 'submit' pour indiquer explicitement // l'adresse d'envoi du formulaire, et on en profite pour y // rajouter notre paramètre 'envoi=1' 'submit'=>$this->createUrl($this->route,array('envoi'=>1)), )); ?> <?php echo // second bouton : sauvegarder uniquement // Cette fois le paramètre 'envoi' est à 0 CHtml::submitButton('Sauvegarder comme brouillon',array( 'class' =>'button', // second bouton : sauvegarder uniquement // Cette fois le paramètre 'envoi' est à 0 'submit'=>$this->createUrl($this->route,array('envoi'=>0)), )); ?> </div>
Côté contrôleur, c'est du classique : on rajoute le paramètres 'envoi' comme argument de l'action visée. Il sera automatiquement lié (bind) à la valeur de notre paramètre 'envoi'.
Bon, ça va pas chercher bien loin, mais ça peut toujours être utile ...
Pour aller plus loin :
Aucun commentaire:
Enregistrer un commentaire