bonjour,
j'ai terminé avec succès l'installation de SonataAdminBundle en suivant ce lien http://sonata-project.org/bundles/me...tallation.html
je suis encore débutante en symfony2:
-le resultat de la page localhost/symfony/web/app_dev/admin/sonata/media/media/create est bien affiché
-quand je clique sur Dailymotion ou Youtube ou image ou fichier alors j'obtient l'erreur suivante: Class Application\Sonata\MediaBundle\Entity\Media does not exist

s'il vous plait quel est mon problème et quelle sa solution???

merci bien pour votre aide

7 réponses


Vallyan
Réponse acceptée

Je dirai que tu n'as pas généré tes entités avec la commande

php app/console sonata:easy-extends:generate SonataMediaBundle

Et n'oublie pas de l'enregistrer dans le kernel et de l'ajouter a la config

rim2004m
Auteur
Réponse acceptée

merci bien
ma page http://localhost/formation/web/app\_dev.php/admin/dashboard est bien affichée, mais quand je clique sur liste ( du menu média), j'obtient cette erreur:
An exception has been thrown during the rendering of a template ("Parameter "id" for route "admin_sonata_media_media_edit" must match "^/]++" ("" given) to generate a corresponding URL.") in SonataMediaBundle:MediaAdmin:list_custom.html.twig at line 17.

s'il vous plait aidez-moi le plutôt possible

Vallyan
Réponse acceptée

Ben c'est plutot clair, non?
Lorsque tu génères une url depuis ton template, tu lui donnes un argument qui ne passe pas les règles de validation que tu as défini dans ton fichier de routing.
Soit la paramètre est mauvais, soit ta règle de validation dans le routing n'est pas adapté ...

Vallyan
Réponse acceptée
  • Dans ta template SonataMediaBundle:MediaAdmin:list_custom.html.twig:
  • A la ligne 17 tu génères unr url en utilisant la fonction {{ path }} ou {{ url }}
  • Tu dois donner un paramètre a cette fonction, car il y a une variable dans l'url a générer et il faut que symfony sache quelle variable utiliser pour créer ton url).
  • Le problème est que tu n'en donne pas, donc twig te dis qu'il faut que tu en donne un. Le code devrait ressembler a quelque chose comme ca:

    {{ path('admin_sonata_media_media_edit', {'id': 'test'}) }}

Bien sur, path() peut etre remplacé par url(), et il faut que tu remplace "test" par une valeur qui a du sens pour ton application.

Vallyan
Réponse acceptée

Je sais que l'appli tourne toute seule un fois installer, pas besoin d'ajouter quoi que ce soit pour que ca marche. Par contre rien ne t'empeche d'ajouter tout ce que tu veux pour l'améliorer.

Je n'ai aucune idée de ce qu'est la vue list_custom.html.twig, je n'ai pas le plugin d'installé dans une de mes appli.

rim2004m
Auteur

s'il vous plait, je n'ai pas compris votre réponse..
je suis encore débutante en symfony

rim2004m
Auteur

Bonjour,
merci beaucoup,
j'ai exécuté cette commande php app/console sonata:easy-extends:generate SonataMediaBundle. j'ai aussi modifié config.yml et routing.yml seulement.

je veux savoir:
-mon application ne contient pas list_custom.html.twig , est ce qu'il faut l'ajouter manuellement??
-est ce qu'il existe du code à ajouter??

...

s'il vous plait donnez-moi plus de détails...