IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Ajout d'une action object_actions -> action does not exist ?


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Par défaut Ajout d'une action object_actions -> action does not exist ?
    bonjour, voila j'utilise l'admin generator, je souhaite ajouter une action showInfos sur mes objets donc j'ai modifier mon generator.yml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     object_actions:
              _edit:
                label: Editer
              showInfos: { label: Infos, action: showInfos}
    Puis j'ai rajouté dans actions\actions.class.php le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    class generalActions extends autoGeneralActions
    {
      public  function executeShowInfos (sfWebRequest $request)
      {
        $this->hardware = Doctrine::getTable('hardware')->createQuery('a')->addWhere('id='.$request->getParameter("id"))->fetchOne();    
        $this->setTemplate('showInfos');     
      }
    }
    j'ai ajouter dans les templates un fichier showInfosSuccess.php pour afficher mes infos
    et donc quand je souhaite exécuter l'action j'ai l'erreur suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    404 | Not Found | sfError404Exception
    Action "general/action" does not exist.

  2. #2
    Membre chevronné Avatar de sacricri
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Par défaut
    Bonjour,

    Première chose, tu peux enlever le $this->setTemplate('showInfos'); de ton action, symfony le fait automatiquement ici.
    Ensuite, il semble que ton problème soit un problème de route. En effet, le framework de routing essaye de charger l'action 'action' du module 'general'.

    L'erreur arrive quand tu cliques sur Infos ? Si oui, quelle est l'url affichée dans la barre d'adresse ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Par défaut
    dsl pour le mp,

    sinon oui l'erreur arrive aprés avoir cliqué sur infos,
    et pour l'url j'ai
    http://localhost/monprojet/web/front...?id_hardware=1

    merci encore

  4. #4
    Membre chevronné Avatar de sacricri
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Par défaut
    Le problème vient donc de là. Normalement, étant donné qu'il s'agit d'un object action, l'url aurait dû être :
    http://localhost/monprojet/web/front...al/1/showInfos ou quelque chose du style.
    Peux-tu poster la partie de ton routing.yml correspondante ainsi que le lien du bouton edit de l'admin generator ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Par défaut
    Le routing je ne l'ai jamais touché

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    hardware:
      class: sfDoctrineRouteCollection
      options:
        model:                hardware
        module:               general
        prefix_path:          /general
        column:               idHardware
        with_wildcard_routes: true
     
    # default rules
    homepage:
      url:   /
      param: { module: default, action: index }
     
    # generic rules
    # please, remove them by adding more specific rules
    default_index:
      url:   /:module
      param: { action: index }
     
    default:
      url:   /:module/:action/*
    et l'url du bouton edit est la suivante
    http://localhost/monprojet/web/front...eneral/49/edit

  6. #6
    Membre chevronné Avatar de sacricri
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Par défaut
    Bon, je ne sais pas si c'est cela mais je vois que dans ton routing, la colonne utilisée pour gérer l'objet est idHardware. Hors ta route générée pour l'action showInfos est id_hardware.
    Il est possible que ce soit fait automatiquement mais essaye de remplacer idHardware par id_hardware dans le routing.

    Petit conseil : mets ces deux routes par défaut en commentaire, elles sont inutiles.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    default_index:
      url:   /:module
      param: { action: index }
     
    default:
      url:   /:module/:action/*

Discussions similaires

  1. Tutoriel MVC : Action "supprimer" does not exist
    Par Invité dans le forum MVC
    Réponses: 8
    Dernier message: 05/04/2011, 17h18
  2. [1.x] Action "sf_guard_user/index" does not exist et compagnie
    Par etoileweb dans le forum Symfony
    Réponses: 1
    Dernier message: 26/08/2010, 20h22
  3. [1.x] Pb routing : Action "artgalery/image" does not exist.
    Par Niennachinoi dans le forum Symfony
    Réponses: 8
    Dernier message: 02/04/2010, 16h17
  4. FATAL 1: Database "x" does not exist in the syste
    Par barbituric dans le forum PostgreSQL
    Réponses: 11
    Dernier message: 17/03/2004, 06h35
  5. [JCreator] "package tools does not exists"
    Par snyper147 dans le forum Environnement de Développement Intégré (EDI)
    Réponses: 2
    Dernier message: 04/05/2003, 20h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo