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 28/11/2010, 13h27   #1
Invité régulier
 
Inscription : novembre 2010
Messages : 36
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 36
Points : 8
Points : 8
Par défaut Problème Formulaire insertion photo

Bonjour,

J'ai créé un formulaire pour un module "annonce" et je souhaite rajouter des photos pour chaque annonce.Sachant que j'ai un attribut dans la table annonce "PhotoPrincipale" ou je peux charger une photo sans aucun souci dans la classe annonceForm avec :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
 
$this->widgetSchema['photoPrincipale'] = new sfWidgetFormInputFile(array(
     'label' => 'Photo Principale',
));
 
$this->validatorSchema['photoPrincipale'] = new sfValidatorFile(array(
  'required'   => false,
  'path'       => sfConfig::get('sf_upload_dir').'/photos',
  'mime_types' => 'web_images',
));

Pour rajouter des photos supplémentaire j'ai du créer une table photo

annonce---0,n------Avoir-------1,1----photo

La question est comment intégrer le rajout de ces photos dans le même formulaire de l'annonce donc comment les rajouter dans la class AnnonceForm ?

J'ai pensé à rajouter :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
$this->embedRelation('Photo');
 
$this->widgetSchema['photoPrincipale'] = new sfWidgetFormInputFile(array(
     'label' => 'Photo Principale',
));
 
$this->validatorSchema['photoPrincipale'] = new sfValidatorFile(array(
  'required'   => false,
  'path'       => sfConfig::get('sf_upload_dir').'/photos',
  'mime_types' => 'web_images',
));
 
 
$this->widgetSchema['Intitule'] = new sfWidgetFormInputFile(array(
     'label' => 'Photo n : 2',
));
 
$this->validatorSchema['Intitule'] = new sfValidatorFile(array(
  'required'   => false,
  'path'       => sfConfig::get('sf_upload_dir').'/photos',
  'mime_types' => 'web_images',
));
Sachant que intitulé est un attribut dans la table Photo.

Mais ça marche pas j'ai cette erreur :
Code :
1
2
3
4
5
6
7
8
9
 
Unknown record property / related component "Intitule" on "Annonce"
 
public function filterGet(Doctrine_Record $record, $name)
{
throw new Doctrine_Record_UnknownPropertyException(sprintf('Unknown record property / related component "%s" on "%s"', $name,   get_class($record)));
}
 
}


Merci d'avance .
fastone650 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 09h06   #2
Membre habitué
 
Avatar de Vicrabb
 
Femme Vinciane
Développeur Web
Inscription : novembre 2010
Messages : 66
Détails du profil
Informations personnelles :
Nom : Femme Vinciane
Âge : 29
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2010
Messages : 66
Points : 100
Points : 100
Si tu ne l'as pas fait, il y a: Formulaires avancés sur symfony. L'exemple me semble plus ou moins ce que tu cherches à faire.
Vicrabb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2010, 21h02   #3
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
Première question de fond, à quoi sert la séparation de la table avoir et de la table photo, à partir du moment où la liaison entre avoir et photo est de type 1-1 ? Autant ne faire qu'une table.

Pour ton formulaire, il convient, probablement, d'utiliser des form embarqués (embed). C'est une des solutions. Il y a un plugin qui permet de faciliter ce type de form (ajout, suppression, création de liaison), c'est : ahDoctrineEasyEmbeddedRelationsPlugin.

Si non, regarde du côté des plugins existant, il en existe plusieurs dédiés au traitement des images.
__________________
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
Vieux 30/11/2010, 21h17   #4
Invité régulier
 
Inscription : novembre 2010
Messages : 36
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 36
Points : 8
Points : 8
Bonjour,

Pour la première question, une annonce peut avoir plusieurs photos (0,n) et une photo n'appartient ne correspond qu'a une seule annonce.

Sinon le problème est réglé merci beaucoup.
fastone650 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2010, 11h55   #5
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
Ta réponse explique le lien logique entre photo et avoir. Mais pas le lien 1-1 entre avoir et photo.

Enfin, si tout marche, tant mieux.

Bonne chance pour la suite.
__________________
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é Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h01.


 
 
 
 
Partenaires

Hébergement Web