Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 22-05-2009 12:13:19

Marvine
Nouveau membre
Date d'inscription: 16-03-2009
Messages: 4

Invalid controller specified avec paramètre dans l'URL

Salut !

J'aurais aimé trouvé la solution à mon problème de débutant seul mais je bloque sévère sad :

Donc à partir d'un tuto simple (http://g-rossolini.developpez.com/tutor … e=sommaire) je voudrais passer dans l'URL l'id de mon objet à modifier de cette manière :

<a href="<?php echo $this->url(array('controller'=>'exigence',   
    'action'=>'modifier', 'id'=>$ListeExigence->IdExigence));?>">Edit</a>

Dans mon url j'ai bien :

public/exigence/modifier/id/7

Mais j'obtiens : Invalid controller specified (modifier)

L'appel aux autres pages (ajouter,supprimer) se passe par contre sans problème (mais sans paramètre dans l'url ...)

Hors ligne

 

#2 22-05-2009 13:00:20

apiel
Membre
Date d'inscription: 23-03-2009
Messages: 21

Re: Invalid controller specified avec paramètre dans l'URL

public c'est ton module exigence ton controller et modifier ton action ??

Hors ligne

 

#3 22-05-2009 13:02:20

Marvine
Nouveau membre
Date d'inscription: 16-03-2009
Messages: 4

Re: Invalid controller specified avec paramètre dans l'URL

Exigence mon controller et modifier mon action oui.

Après public c'est la racine de mon appli', et je suis dans le module default.

Hors ligne

 

#4 22-05-2009 15:36:11

apiel
Membre
Date d'inscription: 23-03-2009
Messages: 21

Re: Invalid controller specified avec paramètre dans l'URL

Si tu utilises la config par défaut sa devrai marcher, après si tu utilises ton propre router il faut que tu regardes si tu repects bien cette structure /:controller/:action/* ou /exigence/:action/* ou encore /exigence/modifier/*

Sinon je ne vois pas trop... ou pi être avec ton bootstrap on pourrait mieux comprendre !!

Bon courrage wink

Hors ligne

 

#5 22-05-2009 15:45:29

Marvine
Nouveau membre
Date d'inscription: 16-03-2009
Messages: 4

Re: Invalid controller specified avec paramètre dans l'URL

Je précise que quand je ne met pas le paramètre id mais seulement :
<a href="<?php echo $this->url(array('controller'=>'exigence',   
    'action'=>'modifier'));?>">Edit</a>

ça roule bien et ca m'amène sur la page de modification, mais sans l'id à modifier aucun intérêt smile

Sinon oui mon boostrap (y'a pas mal de superflu j'aurais pu les virer mais au moins vous avez mon bootstrap entier) :

Code:

<?php
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', 1);
date_default_timezone_set('Europe/Paris');

// mise en place des r�pertoires et chargement des classes
set_include_path('.'
    . PATH_SEPARATOR . '.././library'
    . PATH_SEPARATOR . './application/default/models/'
     . PATH_SEPARATOR . './application/administration/models/'
    . PATH_SEPARATOR . get_include_path());

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

 
        


// Chargement de la configuration
$config = new Zend_Config_Ini('./application/config.ini', 'general');


$registry = Zend_Registry::getInstance();
$registry->set('config', $config);

// Mise en place de la BDD
$db = Zend_Db::factory($config->db);
Zend_Db_Table::setDefaultAdapter($db);

 try{  
     // On lance le framework  
     // On prend une instance du controlleur frontal  
        $frontController = Zend_Controller_Front::getInstance();
        $frontController->setRequest(new Zend_Controller_Request_Http()); // un bug relevé, actuellement cette ligne est obligatoire
        $frontController->throwExceptions(true);
        
        
                
        // Régler plusieurs répertoires de modules d'un seul coup :
        $frontController->setControllerDirectory(array(
            'default' => './application/default/controllers',
            'administration'    => './application/administration/controllers',           
        ));
        
        $router = $frontController->getRouter();
        $router->addRoute(
          'mod', new Zend_Controller_Router_Route(':module/:controller/:action/*')
        );        
        
        //print_r($frontController->getControllerDirectory() );
                $frontController->setBaseUrl('/GGRM/public');
        // Instanciation du moteur de rendu de la page (layout)
        Zend_Layout::startMvc(array('layoutPath'=>'./application/layouts'));

        /********** Extension pour firebug ***********/
        $logger = new Zend_Log();
        $writer = new Zend_Log_Writer_Firebug();
        $logger->addWriter($writer);
        Zend_Registry::set('logger',$logger);
        
        $profiler = new Zend_Db_Profiler_Firebug('All DB Queries');
        $profiler->setEnabled(true);
        $db->setProfiler($profiler);
        function fb($message, $label=null)
{
    if ($label!=null) {
        $message = array($label,$message);
    }
    Zend_Registry::get('logger')->debug($message);
}
        /********** Extension pour firebug ***********/

        /********** Initialisation objet vue dojo ****/
        $layoutView = Zend_Layout::getMvcInstance()->getView();
        Zend_Dojo::enableView($layoutView);
        $layoutView->dojo()->setDjConfigOption('locale', 'fr');
        $layoutView->dojo()->addStylesheetModule('dijit.themes.tundra');
        
        /********** Installation Scienta bar ***********/
          $debugBar = new Scienta_Controller_Plugin_Debug(array(  
              'database_adapter' => $db, // Zend_Db_Adapter_Abstract  
                'memory_usage' => true,  
               'collect_view_vars' => true));  
       $frontController = Zend_Controller_Front::getInstance();  
       $frontController->registerPlugin($debugBar);  
        



        
    // On démarre !  
$frontController->dispatch();

 }catch (Exception $e){  
         // Si on a une erreur (exception), on l'affiche  
     echo $e -> getMessage();  
 }

En espérant que ça vous aide à ... m'aider smile

Dernière modification par Marvine (22-05-2009 15:45:52)

Hors ligne

 

#6 25-05-2009 15:59:31

DavidV
Membre
Date d'inscription: 19-05-2009
Messages: 19

Re: Invalid controller specified avec paramètre dans l'URL

Si tu n'utilises pas les modules, je pense que ces lignes ne servent à rien :

Code:

        $router = $frontController->getRouter();
        $router->addRoute(
          'mod', new Zend_Controller_Router_Route(':module/:controller/:action/*')
        );

Peut-être qu'en les enlevant ...

Hors ligne

 

#7 26-05-2009 20:49:19

Marvine
Nouveau membre
Date d'inscription: 16-03-2009
Messages: 4

Re: Invalid controller specified avec paramètre dans l'URL

Merci beaucoup pour la réponse DavidD, après avoir simplement enlevé ces lignes ... ça marche nickel !

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