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 03/11/2011, 17h37   #1
Membre habitué
 
Femme
Développeur Web
Inscription : juin 2011
Messages : 283
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : juin 2011
Messages : 283
Points : 133
Points : 133
Par défaut Champs du formulaire inexistant

Bonjour à tous,
J'ai le code suivant dans mon formulaire:
Code :
1
2
3
4
public function configure()
	{
		$this->widgetSchema['id_adresse_fournisseur']->setOption('label', 'Fournisseur');
	}
mais j'ai l'erreur qui apparaît lorsque je vais à la page correspondante:
Widget "id_commande_fournisseur" does not exist.
Pourquoi? ai-je oublié quelque chose?
daydream123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 18h08   #2
Membre confirmé
 
Inscription : décembre 2005
Messages : 265
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : décembre 2005
Messages : 265
Points : 232
Points : 232
Ton widget créer une clé "id_adresse_fournisseur" et ton message d'erreur fait référence à "id_commande_fournisseur", le problème ne viendrait pas simplement de là ?
Palca est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/11/2011, 21h54   #3
Membre habitué
 
Femme
Développeur Web
Inscription : juin 2011
Messages : 283
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : juin 2011
Messages : 283
Points : 133
Points : 133
J'avais pas remarqué
Merci beaucoup!
daydream123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 10h48   #4
Membre habitué
 
Femme
Développeur Web
Inscription : juin 2011
Messages : 283
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : juin 2011
Messages : 283
Points : 133
Points : 133
Après avoir bien regardé dans le code, je ne comprends pas pourqoui il me demande un champ que je n'ai pas défini?
daydream123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 11h09   #5
Membre confirmé
 
Inscription : décembre 2005
Messages : 265
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : décembre 2005
Messages : 265
Points : 232
Points : 232
Sans le code c'est difficile de voir, mais je suppose qu'il doit y avoir un echo ou une dépendance qui traîne quelque part.
Palca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 11h51   #6
Membre habitué
 
Femme
Développeur Web
Inscription : juin 2011
Messages : 283
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : juin 2011
Messages : 283
Points : 133
Points : 133
J'arrive vraiment pas à trouver, voilà le code:
Pour le formulaire:
Code :
1
2
3
4
5
 
public function configure()
	{
		$this->widgetSchema['id_adresse_fournisseur']->setOption('label', 'Fournisseur');
	}
Pour l'action:
Code :
1
2
3
4
5
6
 
public function executeAfficherFormulaire(sfWebRequest $request)
	{
    $this->form  = new AffichageParFournisseurForm();
    $this->facturefournisseur = new FactureFournisseur();
	}
Pour la template AfficherFormulaireSuccess
Code :
1
2
 
<?php include_partial('fact_fourn/form_affichageParFournisseur', array('facturefournisseur' => $facturefournisseur, 'form' => $form, 'configuration' => $configuration, 'helper' => $helper)) ?>
La template _form_affichageParFournisseur.php:
Code :
1
2
3
4
 
	    <?php foreach ($configuration->getFormFields($form, $form->isNew() ? 'new' : 'edit') as $fieldset => $fields): ?>
	      <?php include_partial('fact_fourn/form_fieldset2', array('facturefournisseur' => $facturefournisseur, 'form' => $form, 'fields' => $fields, 'fieldset' => $fieldset)) ?>
	    <?php endforeach; ?>
et enfin, la template form_fieldset2.php:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
<?php foreach ($fields as $name => $field): ?>
		<?php if (!((isset($form[$name]) && $form[$name]->isHidden()) || (!isset($form[$name]) && $field->isReal()) || (array_key_exists($name, $specialFields)))) : ?>
			<?php include_partial('fact_fourn/form_field', array(
			  'name'       => $name,
			  'attributes' => $field->getConfig('attributes', array()),
			  'label'      => $field->getConfig('label'),
			  'help'       => $field->getConfig('help'),
			  'form'       => $form,
			  'field'      => $field,
			  'class'      => 'sf_admin_form_row sf_admin_'.strtolower($field->getType()).' sf_admin_form_field_'.$name,
			)) ?>
daydream123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 12h15   #7
Membre confirmé
 
Inscription : décembre 2005
Messages : 265
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : décembre 2005
Messages : 265
Points : 232
Points : 232
Désolé mais je ne vois pas, et je ne connais pas le fonctionnement interne de symfony donc j'ignore totalement d'où ça peut venir.

Le message d'erreur n'est pas plus explicite que ça ? Ce n'est pas possible d'avoir un tracé complet de l'erreur pour en déterminer l'origine ?
Palca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 13h10   #8
Membre habitué
 
Femme
Développeur Web
Inscription : juin 2011
Messages : 283
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : juin 2011
Messages : 283
Points : 133
Points : 133
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
 
500 | Internal Server Error | InvalidArgumentException
Widget "id_commande_fournisseur" does not exist.
 
{
      if (!$widget = $this->widgetSchema[$name])
      {
        throw new InvalidArgumentException(sprintf('Widget "%s" does not exist.', $name));
      }
      if ($this->isBound)
 
at sfForm->offsetGet('id_commande_fournisseur')
in SF_ROOT_DIR\apps\backend\modules\fact_fourn\templates\_form_field.php line 7 ...
at require('C:\wamp\www\codex-ceslb-recette\public_html\apps\backend\modules\fact_fourn\templates\_form_field.php')
in SF_ROOT_DIR\lib\vendor\symfony\lib\view\sfPHPView.class.php line 75 ...
at sfPHPView->renderFile('C:\wamp\www\codex-ceslb-recette\public_html\apps\backend\modules/fact_fourn/templates/_form_field.php')
in SF_ROOT_DIR\lib\vendor\symfony\lib\view\sfPartialView.class.php line 110 ...
at sfPartialView->render()
in SF_ROOT_DIR\lib\vendor\symfony\lib\helper\PartialHelper.php line 218 ...
at get_partial('fact_fourn/form_field', array('name' => 'id_commande_fournisseur', 'attributes' => object('sfOutputEscaperArrayDecorator'), 'label' => 'Commandes Fournisseur', 'help' => null, 'form' => object('AffichageFactureParStatutForm'), 'field' => object('sfOutputEscaperObjectDecorator'), 'class' => 'sf_admin_form_row sf_admin_text sf_admin_form_field_id_commande_fournisseur'))
in SF_ROOT_DIR\lib\vendor\symfony\lib\helper\PartialHelper.php line 180 ...
at include_partial('fact_fourn/form_field', array('name' => 'id_commande_fournisseur', 'attributes' => object('sfOutputEscaperArrayDecorator'), 'label' => 'Commandes Fournisseur', 'help' => null, 'form' => object('AffichageFactureParStatutForm'), 'field' => object('sfOutputEscaperObjectDecorator'), 'class' => 'sf_admin_form_row sf_admin_text sf_admin_form_field_id_commande_fournisseur'))
in SF_ROOT_DIR\apps\backend\modules\fact_fourn\templates\_form_fieldsetRecherche.php line 32 ...
at require('C:\wamp\www\codex-ceslb-recette\public_html\apps\backend\modules\fact_fourn\templates\_form_fieldsetRecherche.php')
in SF_ROOT_DIR\lib\vendor\symfony\lib\view\sfPHPView.class.php line 75 ...
at sfPHPView->renderFile('C:\wamp\www\codex-ceslb-recette\public_html\apps\backend\modules/fact_fourn/templates/_form_fieldsetRecherche.php')
in SF_ROOT_DIR\lib\vendor\symfony\lib\view\sfPartialView.class.php line 110 ...
at sfPartialView->render()
in SF_ROOT_DIR\lib\vendor\symfony\lib\helper\PartialHelper.php line 218 ...
at get_partial('fact_fourn/form_fieldsetRecherche', array('facturefournisseur' => object('sfOutputEscaperIteratorDecorator'), 'form' => object('AffichageFactureParStatutForm'), 'fields' => object('sfOutputEscaperArrayDecorator'), 'fieldset' => 'NONE'))
in SF_ROOT_DIR\lib\vendor\symfony\lib\helper\PartialHelper.php line 180 ...
at include_partial('fact_fourn/form_fieldsetRecherche', array('facturefournisseur' => object('sfOutputEscaperIteratorDecorator'), 'form' => object('AffichageFactureParStatutForm'), 'fields' => object('sfOutputEscaperArrayDecorator'), 'fieldset' => 'NONE'))
in SF_ROOT_DIR\apps\backend\modules\fact_fourn\templates\_form_parStatut.php line 39 ...
at require('C:\wamp\www\codex-ceslb-recette\public_html\apps\backend\modules\fact_fourn\templates\_form_parStatut.php')
in SF_ROOT_DIR\lib\vendor\symfony\lib\view\sfPHPView.class.php line 75 ...
at sfPHPView->renderFile('C:\wamp\www\codex-ceslb-recette\public_html\apps\backend\modules/fact_fourn/templates/_form_parStatut.php')
in SF_ROOT_DIR\lib\vendor\symfony\lib\view\sfPartialView.class.php line 110 ...
at sfPartialView->render()
in SF_ROOT_DIR\lib\vendor\symfony\lib\helper\PartialHelper.php line 218 ...
at get_partial('fact_fourn/form_parStatut', array('facturefournisseur' => object('sfOutputEscaperIteratorDecorator'), 'form' => object('AffichageFactureParStatutForm'), 'configuration' => object('sfOutputEscaperObjectDecorator'), 'helper' => object('fact_fournGeneratorHelper')))
in SF_ROOT_DIR\lib\vendor\symfony\lib\helper\PartialHelper.php line 180 ...
at include_partial('fact_fourn/form_parStatut', array('facturefournisseur' => object('sfOutputEscaperIteratorDecorator'), 'form' => object('AffichageFactureParStatutForm'), 'configuration' => object('sfOutputEscaperObjectDecorator'), 'helper' => object('fact_fournGeneratorHelper')))
in SF_ROOT_DIR\apps\backend\modules\fact_fourn\templates\parStatutSuccess.php line 16 ...
at require('C:\wamp\www\codex-ceslb-recette\public_html\apps\backend\modules\fact_fourn\templates\parStatutSuccess.php')
in SF_ROOT_DIR\lib\vendor\symfony\lib\view\sfPHPView.class.php line 75 ...
at sfPHPView->renderFile('C:\wamp\www\codex-ceslb-recette\public_html\apps\backend\modules/fact_fourn/templates/parStatutSuccess.php')
in SF_ROOT_DIR\lib\vendor\symfony\lib\view\sfPHPView.class.php line 185 ...
at sfPHPView->render()
in SF_ROOT_DIR\lib\vendor\symfony\lib\filter\sfExecutionFilter.class.php line 155 ...
at sfExecutionFilter->executeView('fact_fourn', 'parStatut', 'Success', array('configuration' => object('fact_fournGeneratorConfiguration'), 'helper' => object('fact_fournGeneratorHelper'), 'form' => object('AffichageFactureParStatutForm'), 'facturefournisseur' => object('FactureFournisseur')))
in SF_ROOT_DIR\lib\vendor\symfony\lib\filter\sfExecutionFilter.class.php line 116 ...
at sfExecutionFilter->handleView(object('sfFilterChain'), object('fact_fournActions'), 'Success')
in SF_ROOT_DIR\lib\vendor\symfony\lib\filter\sfExecutionFilter.class.php line 47 ...
at sfExecutionFilter->execute(object('sfFilterChain'))
in SF_ROOT_DIR\lib\vendor\symfony\lib\filter\sfFilterChain.class.php line 53 ...
at sfFilterChain->execute()
in SF_ROOT_DIR\lib\vendor\symfony\lib\filter\sfBasicSecurityFilter.class.php line 72 ...
at sfBasicSecurityFilter->execute(object('sfFilterChain'))
in SF_ROOT_DIR\lib\vendor\symfony\lib\filter\sfFilterChain.class.php line 53 ...
at sfFilterChain->execute()
in SF_ROOT_DIR\lib\vendor\symfony\lib\filter\sfRenderingFilter.class.php line 33 ...
at sfRenderingFilter->execute(object('sfFilterChain'))
in SF_ROOT_DIR\lib\vendor\symfony\lib\filter\sfFilterChain.class.php line 53 ...
at sfFilterChain->execute()
in SF_ROOT_DIR\lib\vendor\symfony\lib\controller\sfController.class.php line 233 ...
at sfController->forward('fact_fourn', 'parStatut')
in SF_ROOT_DIR\lib\vendor\symfony\lib\controller\sfFrontWebController.class.php line 48 ...
at sfFrontWebController->dispatch()
in SF_ROOT_DIR\lib\vendor\symfony\lib\util\sfContext.class.php line 170 ...
at sfContext->dispatch()
in SF_ROOT_DIR\web\backend_dev.php line 13 ...
daydream123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 14h39   #9
Membre confirmé
 
Inscription : décembre 2005
Messages : 265
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : décembre 2005
Messages : 265
Points : 232
Points : 232
Déjà l'origine de l'erreur est localisée :
Code :
1
2
at sfForm->offsetGet('id_commande_fournisseur')
in SF_ROOT_DIR\apps\backend\modules\fact_fourn\templates\_form_field.php line 7 ...
Clairement, il y a un bout de code demandant de générer "id_commande_fournisseur" à un moment.
Palca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 16h08   #10
Membre habitué
 
Femme
Développeur Web
Inscription : juin 2011
Messages : 283
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : juin 2011
Messages : 283
Points : 133
Points : 133
Effectivement tu avais raison, en fait, c'est dans mon fichier generator.yml qu'il y a un display du champ id_commande_fournisseur.
Du coup, je suis obligée d'ajouter ce champ dans mon formulaire...
Voilà donc ce que j'ai fait:
Code :
1
2
3
4
5
6
7
8
 
public function configure()
	{		
			$this->widgetSchema['id_commande_fournisseur']= new sfWidgetFormInputHidden();
			$this->validatorSchema['id_commande_fournisseur']= new sfValidatorInteger(array('required' => false));
 
			$this->widgetSchema['id_adresse_fournisseur']->setOption('label', 'Fournisseur');
	}
Mais ça me met toujours widget introuvable ... Pourquoi?
daydream123 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 13h14.


 
 
 
 
Partenaires

Hébergement Web