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 30/11/2007, 16h25   #1
Membre régulier
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 84
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : octobre 2006
Messages : 84
Points : 88
Points : 88
Par défaut CRUD et les fichiers

Bonjour a tous ,

Voila plusieurs jours que je cherche a savoir s’il y a la possibilité d'uploader des fichiers via le système CRUD de symfony, en changeant le type d'un champ dans le fichier generator.yml ?

Voici un exemple ou file_image est une image (sans restriction pour l'instant) :

Code schema.yml :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
---
propel: 
  type_projet: 
    _attributes: 
      idMethod: native
    id: 
      type: TINYINT
      required: true
      autoIncrement: true
      primaryKey: true
    nom: 
      type: VARCHAR
      required: true
    file_image: 
      type: LONGVARCHAR
      required: true

Code generator.yml :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
generator:
  class:              sfPropelAdminGenerator
  param:
    model_class:      TypeProjet
    theme:            default
 
    fields:
      nom:          { name: Nom du type de projet}
 
    list:
      title:      Liste des type de projets disponible
 
    edit:
      title:       Modifier le type du projet %%nom%%
      fields:
        nom:       { name: Nom }
        file_image:

Je precise que j'utilise symfony 1.0.8.

Merci d'avance a tous
Mr_Glopinous est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2007, 17h05   #2
Nouveau Membre du Club
 
Inscription : juin 2004
Messages : 38
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 38
Points : 26
Points : 26
il me semble que tu peux ajouter
file: true

exemple :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
propel: 
  type_projet: 
    _attributes: 
      idMethod: native
    id: 
      type: TINYINT
      required: true
      autoIncrement: true
      primaryKey: true
    nom: 
      type: VARCHAR
      required: true
    file_image:
      type: VARCHAR 
      size: 255
      file:  true
      required: false
hipe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2007, 17h23   #3
Membre régulier
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 84
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : octobre 2006
Messages : 84
Points : 88
Points : 88
Merci pour ta reponse

J'ai donc changé mon schema.yml ,supprimé mon module typeProjet et lancer les commande suivante :
Code :
1
2
3
4
symfony cc
symfony propel-build-model
symfony propel-build-sql
symfony propel-init-admin backend typeProjet TypeProjet
et j'ai retesté ma page, mais cela n'y a rien fait , j'ai juste un input simple a la place d'un textarea lorsque je souhaite editer.

Mr_Glopinous est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2007, 17h53   #4
Nouveau Membre du Club
 
Inscription : juin 2004
Messages : 38
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 38
Points : 26
Points : 26
il me semble que tu aura ta réponse sur la video de l'admin générator sur le site de symfony.
hipe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2007, 18h44   #5
Membre régulier
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 84
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : octobre 2006
Messages : 84
Points : 88
Points : 88
Merci pour le conseil , la video est genial .

Cependant, malgré la video, cela ne fonctionne pas pour mon module, mais j'ai télécharger admin_generator.tgz et dessus l'upload fonctionne.

Je dois donc avoir un problème de configuration quelque part, je vais approfondir ca.

Encore

edit:

j'avais oublié que j'etais en environnement de prod , je suis passé en environnement de dev et j'ai une zolie erreur
Code :
Fatal error: Call to undefined function object_admin_input_upload_tag() in D:\...\cache\backend\dev\modules\autoTypeProjet\templates\_edit_form.php on line 36
Edit 2 :
En faite, la fonction object_admin_input_upload_tag() s'appelle object_admin_input_file_tag() dans symfony 1.0.8

Il faut donc changer :
Code generator.yml :
1
2
3
4
5
6
7
8
9
10
11
12
13
generator:
  class:              sfPropelAdminGenerator
  param:
    model_class:      TypeProjet
    theme:            default

    fields:
      file_image:
        help: Please upload a 100x100 photo (jpg preferred)
        type: admin_input_file_tag
        upload_dir: photos
        params: include_link=photos include_remove=true
Mr_Glopinous est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 18h00   #6
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 51
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 51
Points : 12
Points : 12
Citation:
Fatal error: Call to undefined function object_admin_input_file_tag() in...
J'ai a peu près la même erreur, pourtant dans mon generator.yml j'ai bien :

Code :
1
2
3
4
fields:    
        photosmall_path:
          type:       admin_input_file_tag
          name:       Photo (small)
...

D'autre fichiers ou ça pourait avoir était mal configuré / instalé ?
devtroll est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 19h16   #7
Membre régulier
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 84
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : octobre 2006
Messages : 84
Points : 88
Points : 88
Il faut que tu ailles verifier ton ObjectAdminHelper.php (par defaut : c:\wamp\php\pear\symfony\healper\ObjectAdminHelper.php) a la ligne 22.
Tu dois avoir une fonction ressemblant à ca :
Code ObjectAdminHelper.php :
1
2
3
4
5
 
function object_admin_input_file_tag($object, $method, $options = array())
{
...
}

Si tu n'as pas object_admin_input_file_tag, mais object_admin_input_upload_tag remplace dans le generator.yml admin_input_file_tag par admin_input_upload_tag
Mr_Glopinous 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 07h32.


 
 
 
 
Partenaires

Hébergement Web