Symfony : 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 :

Laisser un commentaire

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

Nos partenaires

PrestaShop

PrestaShop nous fait confiance en nous délivrant la certification Platinum qui démontre notre expertise concernant leur logiciel e-commerce.

PayPlug

PayPlug est la solution de paiement française qui simplifie le paiement pour l’ensemble des TPE et PME de l'e-commerce, aussi bien en ligne qu’en magasin.