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