Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 28-04-2014 09:59:36

astro785
Membre
Date d'inscription: 08-04-2014
Messages: 40

Zend\View\Renderer\PhpRenderer::render: Unable to render template

Plop smile

J'ai un problème que je n'avais encore jamais rencontré lors de l'envoi d'un formulaire.

Je l'instancie dans le controlleur pour ensuite le passer à la vue et initialiser son attribut action :

Code:

[lang=php]
$addcoutform->setAttribute('action', $this->url('liste', array('action' => 'addcout', 'id' => $this->id)));

Dans mon controlleur, j'ai bien une action 'addcoutAction' :

Code:

[lang=php]
    public function addcoutAction(){

        
    }

Qui traite les données reçues en POST, les sauvegarde dans la bd et me redirige sur la page du formulaire (pas sur la vue addcout).

J'ai déjà fait des dizaines de formulaires avec ce fonctionnement ( action sans vue associée, qui redirige simplement vers une autre vue quand elle est terminée), et ça a toujours bien fonctionné, mais là, au moment du submit j'ai ça :

Zend\View\Renderer\PhpRenderer::render: Unable to render template "liste/liste/addcout"; resolver could not resolve to a file

Si je crée la vue 'addcout.phtml' vide, plus de message d'erreur, mais le controlleur ne lance pas l'action addcoutAction ( je reste sur cette page blanche, aucune redirection et aucun traitement ne sont effectués )

Si quelqu'un pouvait éclairer ma lanterne, merci smile

Hors ligne

 

#2 28-04-2014 10:04:36

tdutrion
Administrateur
Lieu: Dijon, Paris, Edinburgh
Date d'inscription: 23-12-2009
Messages: 614
Site web

Re: Zend\View\Renderer\PhpRenderer::render: Unable to render template

Bonjour,

Quel code as-tu dans ton addcoutAction ?

Honnêtement une connerie que je faisais souvent au début de ZF2 c'est que je ne mettais pas return devant $this->redirect()->toRoute(), car ZF1 n'avais pas besoin du return...

Hors ligne

 

#3 28-04-2014 10:09:34

astro785
Membre
Date d'inscription: 08-04-2014
Messages: 40

Re: Zend\View\Renderer\PhpRenderer::render: Unable to render template

Bonjour smile
Elle ressemble à ça :

Code:

[lang=php]
    public function addcoutAction(){
        $idsite = $this->params('id', 0);

        $form = new coutForm();

        $request = $this->getRequest();
        if ($request->isPost()) {
            $cout = new Cout();
            $form->setInputFilter($cout->getInputFilter());
            $form->setData($request->getPost());

            if ($form->isValid()) {

                $cout->exchangeArray($form->getData());
                $this->getCoutTable()->saveAddedCout($cout);


                return $this->redirect()->toRoute('liste');
            }
        }

        
    }

Je ne me sers pas encore du param que je récupère depuis la route, mais les données reçues en post devraient suffire pour mon test.

Edit :

Autant pour moi, en sortant le return du if, ça fonctionne ( du moins la redirection ), c'est donc que mon form n'est pas valid ou que ma requête n'est pas en post, je penche pour le isValid tongue

Merci !

Dernière modification par astro785 (28-04-2014 10:21:17)

Hors ligne

 

#4 28-04-2014 10:30:57

flobrflo
Membre
Lieu: Marseille
Date d'inscription: 26-04-2013
Messages: 376

Re: Zend\View\Renderer\PhpRenderer::render: Unable to render template

Hello,
d'après ton erreur il semblerait que ton appli ne trouve pas le fichier de view : liste/liste/addcout

vérifie qu'il est au bon endroit, ou qu'il à bien le même nom ^^

EDIT : att je n'avais pas bien lu. si tu créé le fichier vide il marche? tu met quoi dans ta vue?

Dernière modification par flobrflo (28-04-2014 10:33:07)

Hors ligne

 

#5 28-04-2014 10:38:44

tdutrion
Administrateur
Lieu: Dijon, Paris, Edinburgh
Date d'inscription: 23-12-2009
Messages: 614
Site web

Re: Zend\View\Renderer\PhpRenderer::render: Unable to render template

Dur le lundi flobrflo smile

L'idée ici c'était justement de ne pas utiliser de vue, juste une redirection !

astro785, hors de ton if, tu devrais utiliser le plugin forward pour pouvoir afficher un message d'erreur si le formulaire n'est pas valide... http://framework.zend.com/manual/2.3/en … ns-forward

Hors ligne

 

#6 28-04-2014 10:51:07

flobrflo
Membre
Lieu: Marseille
Date d'inscription: 26-04-2013
Messages: 376

Re: Zend\View\Renderer\PhpRenderer::render: Unable to render template

Ah we j'avais rien pigé du tout.. xD
(dsl post inutile du coup..)

En créant ta vue blanche commence déjà par debug pour voir ou ça plante, (var_dump dans le if et un juste avant le redirect pour voir jusqu'où tu va)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages