Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 20-03-2008 12:38:56

narayana
Nouveau membre
Date d'inscription: 20-03-2008
Messages: 2

[Resolu][Zend_Controller_Router_Rewrite][1.5.0]

Bonjour,
Tout nouveau et fraichement arrivé, je teste actuellement ce framework pour ma société.
J'essaye quelques essais pour voir...
J'ai un soucis sur la définition des routes.
Je n'arrive pas à afficher la page qu'il faut en fonction de mes règles de routages.

voici mon bootstrap

Code:

<?php
/** BootStrap */
error_reporting(E_ALL|E_STRICT);
ini_set('display_error','on');
ini_set('include_path' , ini_get('include_path') . PATH_SEPARATOR . '../library');

/** @see Zend_Controller_Front */
require_once 'Zend/Loader.php';

Zend_Loader::LoadClass('Zend_Controller_Front');
Zend_Loader::LoadClass('Zend_Config_Ini');
Zend_Loader::loadClass('Zend_Controller_Router_Rewrite');

$config = new Zend_Config_Ini('../application/config.ini', array('config','rewrite'));

$router = new Zend_Controller_Router_Rewrite();
$router->addConfig($config, 'routes');

$frontCtrl = Zend_Controller_Front::getInstance();
$frontCtrl->setRouter($router);
$frontCtrl->setControllerDirectory('../application/controllers');

if($config->developper)
    $frontCtrl->throwExceptions(true);
else
    $frontCtrl->throwExceptions(false);

$frontCtrl->dispatch();
?>

Je charge mes routes via le fichier ini suivant

Code:

[config]
developper = false

[rewrite]
routes.profile.route = "profile/:username"
routes.profile.defaults.controller = profile
routes.profile.defaults.action = userInfo
routes.profile.defaults.username = vide

Bien sur j'ai une arborescence disposant d'un controller profile

Code:

<?php
/** @see Zend_Controller_Action */
require_once 'Zend/Controller/Action.php';

class ProfileController extends Zend_Controller_Action
{
    public function userInfoAction()
    {
        $request = $this->getRequest();
        $this->view->username = $request->getParam('username');
    }
}
?>

et d'un vue adéquate

Code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"; "http://www.w3.org/TR/xhtmll-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Zend Framework Test</title>
</head>
<body>
 <h1>Nom du user = <?php echo $this->username ;?</h1>
</body>
</html>

J'essaye d'arrive sur cette vue via l'url http//:127.0.0.1/profile/narayana

Malheureusement je suis redirigé vers le controilleur d'erreur...

au passage voici mon htaccess

Code:

RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php

Auriez-vous des informations sur ce soucis ?

cordialement.

Dernière modification par narayana (20-03-2008 16:13:48)

Hors ligne

 

#2 20-03-2008 15:32:53

or4cle
Membre
Date d'inscription: 18-02-2008
Messages: 70

Re: [Resolu][Zend_Controller_Router_Rewrite][1.5.0]

Salut

Peut-on avoir le détail de ton erreur renvoyée par ZF ?

Hors ligne

 

#3 20-03-2008 16:13:28

narayana
Nouveau membre
Date d'inscription: 20-03-2008
Messages: 2

Re: [Resolu][Zend_Controller_Router_Rewrite][1.5.0]

C'est corrigé.
Merci pour l'option debug.
Je n'avais pas compris qu'il ffaut respecter le même nom de fichier pour la vue que pour l'action.

Hors ligne

 

#4 21-03-2008 08:17:15

or4cle
Membre
Date d'inscription: 18-02-2008
Messages: 70

Re: [Resolu][Zend_Controller_Router_Rewrite][1.5.0]

Si tu fais "$this->render(); il faut avoir le même nom
sinon tu peux faire $this->render('toto'); qui cherchera toto.phtml pour rendre ton action userInfo()

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