sfWidgetFormDate / sfWidgetFormDateTime et l’attribut « disabled »

Nous allons voir dans cet article comment rendre rapidement non éditables les listes déroulantes générées par les widgets symfony (1.4) sfWidgetFormDate et sfWidgetFormDateTime. En effet, il existe une petite subtilité de syntaxe qui peut rapidement faire penser à un bug du framework lorsque l’on essaye d’appliquer l’attribut « disabled » sur l’un de ces deux widgets.

Pour illustrer la méthode, nous allons éditer le fichier {model}Form.class.php (relatif à votre modèle) contenant la méthode configure() permettant de redéfinir les widgets
instanciés dans Base {model}Form.class.php.

En ajoutant l’attribut « disabled » directement dans cette classe, ceux-ci seront automatiquement désactivés (mais affichés à l’utilisateur) dès lors que vous générerez le formulaire du modèle.

Attribut disabled pour un sfWidgetFormDate

Pour la classe sfWidgetFormDate pas de problèmes, il suffit d’ajouter directement l’attribut au widget :

Attribut disabled pour un sfWidgetFormDateTime

Pour la classe sfWidgetFormDateTime il existe une petite subtilité, l’attribut doit être déclaré deux fois, une fois pour la configuration de la partie « date » et une seconde fois pour la partie « time » du widget :

Cette entrée a été publiée dans symfony, et marquée avec , , , le par Team Nukium.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *