Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/07/2011, 13h59   #1
Invité de passage
 
Inscription : avril 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 5
Points : 2
Points : 2
Par défaut Date par défaut

Bonjour,

Dans un formulaire je dispose d'un champ de type date. L'utilisateur doit don saisir une date, mais je souhaiterais que la date par défaut soit la date du jour.

Voici sa déclaration dans le schema.yml :
Et dans la méthode configure du formulaire j'éxecute la ligne suivante :

Code :
$this->setDefault('debut',date('Y-m-d'));
Mais lorsque j'affiche le formulaire, le champ reste vide, sans aucune valeur par défaut. Avez-vous une idée du problème ?

EDIT: Je viens de remarquer que dans ce formulaire aucun setDefault n'est pris en compte, mais tout le reste fonctionne ( unset, widget... ). Le formulaire est utilisable sinon, juste pas de valeur par défaut possible ( alors que sur un autre formulaire de ma création les setdefault fonctionne )

Voici le formulaire ne fonctionnement pas correctement :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
class userprocedureFormEdit extends BaseuserprocedureForm {
 
    public function configure()
  {
      unset(
      $this['created_at'], $this['updated_at'],
      $this['expires_at'], $this['is_activated'],$this['fin'],$this['ordonneursuppression'],
      $this['supprimeur'],$this['ordonnancesuppression'],$this['initiateur'],$this['supprime']
      );
 
      $nomtache = $this->getObject()->getTache()->getIntitule();
      $estfini = $this->getObject()->getEstfini();
 
      if($nomtache!="Compte Windows"){
          unset($this['windows']);
      }
 
      if($nomtache!="PC fixe" && $nomtache!="PC portable"){
          unset($this['nommachine']);
      }
 
      $this->setDefault('debut',date('Y-m-d'));
      $this->setDefault('validateur',2);
 
  }
}
Et voici le formulaire qui fonctionne totalement :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class userprocedureFormNew extends BaseuserprocedureForm
{
  public function configure()
  {
      $this->setDefault('commentaire',"test");
      unset(
      $this['created_at'], $this['updated_at'],
      $this['expires_at'], $this['is_activated'],$this['debut'],$this['fin'],$this['validateur'],$this['ordonneursuppression'],
      $this['supprimeur'],$this['ordonnancesuppression'],$this['windows'],$this['estfini'],$this['asupprime'],$this['supprime']
 
      );
      $this->setWidget('nommachine', new sfWidgetFormInputHidden());
      $this->setWidget('initiateur', new sfWidgetFormInputHidden());
      $this->setDefault('initiateur',2);
  }
}
Merci d'avance.
Anthony


EDIT2 : J'ai trouvé une solution pour contourner le problème, c'est de faire un setDefault dans le action.class.php concerné, donc en faisant $this->form->setDefault('var,"val") dans la méthode executeEdit. Mais ca n'explique toujours pas pourquoi le SetDefault ne fonctionne pas lorsqu'on l’exécute à partir de la méthode configure du formulaire.
ynot45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 14h14   #2
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Comment instancies tu ton form dans ton contrôleur ?
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h11.


 
 
 
 
Partenaires

Hébergement Web