Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 24-06-2008 08:31:49

Kaimite
Membre
Lieu: Marseille
Date d'inscription: 16-06-2008
Messages: 144
Site web

[Résolu] [1.5] Invalid controller specified dans un module

Bonjour,

C'est encore moi smile

Voilà, j'avance petit à petit sur mon site et pour l'instant tout ce passe plutôt pas mal !

J'ai maintenant un petit soucis avec un module admin.

Voici l'arbo de mon site :

http://www.kaimite.com/img_forums/arbo_zend.png

Mon fichier index.php

Code:

<?php
date_default_timezone_set('Europe/Paris');
setlocale(LC_ALL, 'fr_FR');

require(dirname(__FILE__) . "/../includes/config/config.conf.php");

include ("Zend/Loader.php");
include ("fonctions.inc.php");
Zend_Loader::registerAutoload();

// CONFIG DU SITE
$configSite = new Zend_Config_Ini("config.ini", SECTION_INI);
$Registry = Zend_Registry::getInstance();
$Registry -> set('configSite', $configSite);


// BDD
try {   
    $DB = Zend_Db::factory($configSite -> db);
    $DB -> getConnection();
    Zend_Db_Table::setDefaultAdapter($DB);
}
catch(Exception $Exeption) {
    exit($Exeption -> getMessage());
}


// MISE EN PLACE DU PROFILAGE DE LA BDD
$Registry -> set('DB', $DB);
Zend_registry::get('DB') -> getProfiler() -> setEnabled(true);

// MISE EN PLACE DU CACHE POUR LES METADONNEEES
$frontendOptions = array('lifetime' => 7200, 'automatic_serialization' => true);
$backendOptions  = array('cache_dir' => CACHE_ZEND_DIR);
$cache = Zend_Cache::factory('Core', 'File', $frontendOptions, $backendOptions);
Zend_Db_Table_Abstract::setDefaultMetadataCache($cache);



// FrontController
$frontController = Zend_Controller_Front::getInstance();
$frontController -> setRequest(new Zend_Controller_Request_Http());
$frontController -> throwExceptions(DEBUG);
$frontController -> setControllerDirectory(
    array(
        'default'   => CONTROLLERS_DIR,
        'admin'     => MODULES_DIR . '/admin',
    )
)

include("routes.conf.php");

Zend_Layout::startMvc($configSite -> layout);

$actionStack = Zend_Controller_Action_HelperBroker::getStaticHelper('actionStack');
$actionStack -> actionToStack('droite','index');
$actionStack -> actionToStack('nav','index');


try {
    $frontController -> dispatch();
}
catch(Exception $Exeption){
    exit($Exeption -> getMessage());
}

?>

Mes chemins sont définis dans le fichier config.conf.php

Code:

define("CONTROLLERS_DIR",        APP_DIR . "/controllers");
define("MODULES_DIR",            APP_DIR . "/modules");

Et le fichier IndexController.php qui se trouve dans le controllers de admin :

Code:

<?php

class Admin_IndexController extends Zend_Controller_Action {
    
    function init () {
        $this -> _helper -> layout() -> setLayout('gabarit_admin'); 
    }
    
    function indexAction () {
        
        return;
    }
    
}

?>

Malheureusement quand je vais sur http://www.monsite.com/admin j'obtiens le message "Invalid controller specified (index)"

J'avoue que là je bloque et je ne vois pas trop ou se trouve le problème...

Merci pour votre aide.

Cordialement,
Kaimite

Dernière modification par Kaimite (24-06-2008 09:54:13)

Hors ligne

 

#2 24-06-2008 09:53:52

Kaimite
Membre
Lieu: Marseille
Date d'inscription: 16-06-2008
Messages: 144
Site web

Re: [Résolu] [1.5] Invalid controller specified dans un module

Bon,

en fait je viens de trouver smile

Code:

// FrontController
$frontController = Zend_Controller_Front::getInstance();
$frontController -> setRequest(new Zend_Controller_Request_Http());
$frontController -> throwExceptions(DEBUG);
$frontController -> setControllerDirectory(
    array(
        'default'   => CONTROLLERS_DIR,
        'admin'     => MODULES_DIR . '/admin/controllers',
    )
)

Il falait juste spécifier le dossier du controller du module

'admin' => MODULES_DIR . '/admin/controllers',

Cordialement,
Kaimite

Hors ligne

 

#3 24-06-2008 10:01:14

ubini
Membre
Lieu: gillarens/Suisse
Date d'inscription: 23-01-2008
Messages: 110
Site web

Re: [Résolu] [1.5] Invalid controller specified dans un module

Salut smile

Je crois qu'il te manque cela dans ton index.php pour annoncer où se trouve le répertoire qui contient tes modules :

Code:

$frontController ->addModuleDirectory(MODULES_DIR . '/admin');

@+


http://www.easyswap.org - site d'échange de biens et de services conçu avec jQuery et Zend Framework
http://www.lambelet.net - mon blog perso et inutile

Hors ligne

 

#4 24-06-2008 10:35:27

Kaimite
Membre
Lieu: Marseille
Date d'inscription: 16-06-2008
Messages: 144
Site web

Re: [Résolu] [1.5] Invalid controller specified dans un module

En fait, selon ce que j'ai compris, soit je défini mes modules un par un via

Code:

$frontController -> setControllerDirectory(
    array(
        'default'   => CONTROLLERS_DIR,
        'admin'     => MODULES_DIR . '/admin/controllers',
    )
)

Soit j'utilise

Code:

$frontController ->addModuleDirectory(MODULES_DIR );

Mais c'est vrai que c'est plus pratique pour les modules suivants, pas besoin de les ajouter à la liste...

Donc voici que que j'ai fait :

Code:

$frontController -> setControllerDirectory(CONTROLLERS_DIR);
$frontController -> addModuleDirectory(MODULES_DIR);

Bon, ça commence à prendre forme tout ça...

Maintenant passons à l'identification d'une personne sur l'espace d'admin !!!

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