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 02/05/2011, 10h33   #1
Membre habitué
 
Avatar de Nico_F
 
Homme Nicolas
Développeur Web
Inscription : avril 2011
Messages : 95
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : avril 2011
Messages : 95
Points : 142
Points : 142
Par défaut Ajout d'une action Import CSV dans l'admin generator

Bonjour,

Je cherche à créer une action me permettant d'ajouter des produits dans ma table produits à l'aide d'une action supplémentaire dans l'admin generator. Cette action me permettrait d'ajouter tous les produits contenus dans un fichier .csv qu'il serait possible d'uploader à l'aide d'un bouton classique Parcourir, ou même dans un premier temps un fichier existant dans web/uploads.

Pour commencer, j'ai cherché si des plugins existaient pour ce cas (avec symfony 1.4 + Doctrine) mais ma recherche a été bien infructueuse, cela dit si un plugin permet de le faire, celà m'intéresse beaucoup et la suite ne sera du coup pas nécessaire.

Donc je me suis dit que j'allais développer ça moi même. Et là plusieurs questions se posent :

- Ou dois-je déclarer cette action (appelons-la "import") pour qu'elle soit visible à coté de l'action "new" de l'admin generator. La logique voudrait que je rajoute mon "import" dans le fichier generator.yml de cette manière

Code :
1
2
3
4
5
6
7
8
9
10
    config:
      actions: ~
      fields:  ~
      list:
      display:  ~
      filter:  ~
      form:    ~
      edit:    ~
      new:     ~
      import:  ~
- Deuxième question : si le début est bon que dois-je écrire à la place de mon '~' pour que l'action en question utilise une éventuelle méthode importCsv() s'occupant de l'import et que j'écrirai moi même (j'aurais tendance à l'implémenter dans ma classe se trouvant dans model/doctrine/Product.class.php)

Merci pour vos conseils.
Nico_F est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 15h14   #2
Membre habitué
 
Avatar de Nico_F
 
Homme Nicolas
Développeur Web
Inscription : avril 2011
Messages : 95
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : avril 2011
Messages : 95
Points : 142
Points : 142
Par défaut Problème résolu

J'ai finalement trouvé réponse à mon problème.

A défaut d'avoir trouvé un plugin me permettant de faire cet import, je me suis rabattu sur la deuxième solution. Voici le code du generator.yml fonctionnant pour mon cas :

Code :
1
2
3
4
5
6
7
8
9
10
11
config:
  actions: ~
  fields:  ~
  list:
    actions:
      _new:   ~
      import: ~
  filter:  ~
  form:    ~
  edit:    ~
  new:     ~
A ceci je rajoute une fonction executeListImport dans mon contrôleur ainsi qu'un fichier listImportSuccess.php dans le dossier templates de mon module et le tour est joué.

Cela dit j'ai eu un peu de mal à me faire à l'idée que l'ajout d'une action sur un produit (ajouter un show par exemple en plus du edit et delete) et l'ajout d'une action pour l'ensemble du modèle se fasse au même niveau de hiérarchie : c'est-à-dire dans list.
Nico_F 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 09h41.


 
 
 
 
Partenaires

Hébergement Web