Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 19-05-2008 10:06:17

Sid_la_chouette
Membre
Date d'inscription: 07-03-2008
Messages: 15

[Zend 1.5][bootstrap] Problème redirection module url

Voila j'ai un gros souci,

J'ai décider de découper mon appli de la manière suivante,
http://localhost/Westnile_Construction/ddd.png

jusque la rien de bien sorcier je me suis inspirer de ce que j'ai pu lire à droite a gauche sur le sujet mon PROBLEME est la redirection a premiere vu
car je peux :
        - acceder a mon acceuil (avec url://ip_du_site/nom_du_site/ et url://ip_du_site/nom_du_site/default)
        (c'est une page de connection avec un formulaire qui va bien)

Lorsque je me connecte il me redirige vers l'index de l'administrateur(par exemple) mais avec l'adresse url://ip_du_site/nom_du_site, je m'attendais a ce qu'il mette le nom du module/:controller/:action soite url://ip_du_site/nom_du_site/administrateur.

Je vous montre le bootstrap qui est en construction sad

Code:

<?php
    /*
    -----------------------------------------------------------------
        Information de base , le PATH, l'autoload,
        les erreurs, la création de session.
    -----------------------------------------------------------------
    */
    // pour le developpement
    error_reporting(E_ALL|E_STRICT);
    
    // la date 
    date_default_timezone_set('Europe/Paris');

    set_include_path('.'
        . PATH_SEPARATOR . './framework'
        . PATH_SEPARATOR . './modules/default/models'
        . PATH_SEPARATOR . './modules/default/filters'
        . PATH_SEPARATOR . get_include_path());
    
    // Importation de classes
    require_once "Zend/Loader.php";
//    Zend_Loader::registerAutoload();
    
    /*
    -----------------------------------------------------------------
        Creation du registre
    -----------------------------------------------------------------
    */
    require_once "Zend/Registry.php";
    $registry = Zend_Registry::getInstance();
    
    /*
    -----------------------------------------------------------------
        Chargement de la configuration des répertoires
        et création des variables de registre
    -----------------------------------------------------------------
    */
    require_once "Zend/Config/Ini.php";
    $site = new Zend_Config_Ini('./config/config.ini', 'site');
    
    // chemin vers racine du site 
    define('MODULE_PATH', './modules'); 
    // chemin vers racine par défault
    define('DEFAULT_PATH', './modules/default'); 
    // chemin vers moteur application
    define('LIBRARY_PATH', '/librairie');
    
    /*
    -----------------------------------------------------------------
        Gestion de l'authentification
    -----------------------------------------------------------------
    */
    require_once "Zend/Auth.php";

    $auth = Zend_Auth::getInstance();
    
    $droit = 'default';
    if ($auth->hasIdentity()) 
    {
        $droit = strtolower($auth->getIdentity()->TAB_PROFI_TYPEPROFILE_08);
    }


    Zend_Registry::set('NOM_SITE', $site->site->nom);
    Zend_Registry::set('LOG_SITE', $site->site->log);
    Zend_Registry::set('REP_PUBLIC', $site->site->base.LIBRARY_PATH);
    Zend_Registry::set('REP_SITE', '.');
    
    /*
    -----------------------------------------------------------------
        Chargement de la configuration de la base de donnee
    -----------------------------------------------------------------
    */
    require_once "Zend/Config/Ini.php";
    $bdd = new Zend_Config_Ini('./config/config.ini', 'bdd');
    $registry->set('config', $bdd);
    
    // L'accès à la base par le PDO et pour le mapping 
    require_once "Zend/Db.php";
    require_once "Zend/Db/Table.php";
    $db = Zend_Db::factory($bdd->db->adapter,  $bdd->db->config->toArray());
    Zend_Db_Table::setDefaultAdapter($db);
    Zend_Registry::set('DB_ADAPTER', $db);
    
    /*
    -----------------------------------------------------------------
        Creation du controleur
    -----------------------------------------------------------------
    */
    require_once "Zend/Controller/Front.php";
    require_once "Zend/Controller/Request/Http.php";
    require_once "Zend/Controller/Router/Rewrite.php";
    require_once 'Zend/Controller/Dispatcher/Standard.php';
    require_once "My/Controller/Front.php";
    try
    {
//        Zend_Auth::getInstance()->clearIdentity();
        // MVC
        $config = new Zend_Config_Ini('./config/config.ini','layout');
        
            
    /*
    -----------------------------------------------------------------
        Chargement de la configuration de la page (layout)
    -----------------------------------------------------------------
    */
    require_once "Zend/Layout.php";
    $options = array(
            'layout'     => 'layout',
            'layoutPath' => '/modules/'.$droit.'/views/scripts',
            'contentKey' => 'contenu');
        
    Zend_Layout::startMvc($options); // activation des layouts
    $frontController =     My_Controller_Front::getInstance();
            
    $router = new Zend_Controller_Router_Rewrite();
    $router = $frontController->getRouter();
    $router->addRoute(
        "default",
        new Zend_Controller_Router_Route(
            "/:module/:controller/:action/",
            array(
                "module"=>"default",
                "controller"=>"index",
                "action"=>"login")
             )
    );
     
    $router->addRoute(
        "administrateur",
        new Zend_Controller_Router_Route(
           "/:module/:controller/:action/",
            array(
                "module"=>"administrateur",
                "controller"=>"index",
                "action"=>null)
             )
    );
             
        
            $frontController->setParam('noErrorHandler',true)
                            ->setBaseUrl($site->site->base)
                            ->throwExceptions(true)
                            ->setDispatcher(new Zend_Controller_Dispatcher_Standard())
                            ->setRequest(new Zend_Controller_Request_Http())
                            ->addModuleDirectory(MODULE_PATH)
                            ->setControllerDirectory(MODULE_PATH.'/'.$droit.'/controllers')
                            ;
            $frontController->setRouter($router);
        //throw new InvalidArgumentException($frontController->getBaseUrl());
        //    $frontController->setParam('useDefaultControllerAlways', true);
            
//        $frontController->run(MODULE_PATH.'/'.$droit.'/controllers');
        $frontController->dispatch();
    } 
    catch (Exception $e) 
    {
        throw new Exception(
            '       Ligne : '.$e->getLine()
            .'      Code : '.$e->getCode()
            .'      Message : '.$e->getMessage()
            .'        Trace : '.$e->getTrace()
            .'        Trace 2 : '.$e->getTraceAsString());    
    }

d'ailleur j'ai une autre petite question au sujet du dispatch et du run je prefere utilisé le dispatch je sais pas pourquoi (pas de parametre) lequel choisir? je sais qu'il ne sont pas appeler au meme moment

merci d'avance

Hors ligne

 

#2 19-05-2008 13:19:31

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Zend 1.5][bootstrap] Problème redirection module url

Hum... ton image avec une adresse de type localhost...

Hors ligne

 

#3 20-05-2008 10:09:16

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [Zend 1.5][bootstrap] Problème redirection module url

humm..
c'est pas un peu bizarre ca :

Code:

>addModuleDirectory(MODULE_PATH)
->setControllerDirectory(MODULE_PATH.'/'.$droit.'/controllers') ;

----
Gruiiik !

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