Bonjour

J'ai défini un lien vers un plugin comme ceci :

<?php echo($this->Html->link('Metas', array('plugin'=>'metas','controller' => 'metas', 'action' => 'index'),array('escape'=>false))) ?>

En local ce système fonctionne correctement mais sur mon serveur de dev, cakephp me dit qu'il ne trouve pas le controller metas et que je dois le définir dans le dossier app, alors qu'il est correctement définit dans le dossier controller de mon plugin.

J'ai aussi testé :

<?php echo($this->Html->link('Metas', array('plugin'=>true,'plugin'=>'metas','controller' => 'metas', 'action' => 'index'),array('escape'=>false))) ?>

et j'ai testé aussi :

<?php echo($this->Html->link('Metas', array('controller' => 'metas', 'action' => 'index','admin'=>true),array())) ?>

Router::connect('/admin/metas/:action/*', array('admin' => true,'plugin' => 'metas'));

Donc...pourquoi cakephp ne reconnait pas la route sur le serveur alors qu'en local tous marche? (serveur OVH)
Je précise que ce lien se fait dans la partie admin du site, l'url est donc /admin/metas

Dans le fichier core :

Configure::write('Routing.prefixes', array('admin', 'ajax'));

sans succés...

4 réponses


Raphael986
Auteur
Réponse acceptée

Voici la solution si d'autres ont le même problème :

Router::connect('/admin/metas', array('plugin' => 
'metas','controller'=>'metas','action'=>'index','prefix'=>'admin','admin'=>true));
Router::connect('/admin/metas/:controller/:action/*', array('plugin' => 
'metas','prefix'=>'admin','admin'=>true));

Salut,

Es-tu sur de respecter les majuscules dans les noms de fichiers?

Car si tu développes en local sous Windows et que le serveur est en Linux, sans majuscule ça pourrait fonctionner sur l'un et pas l'autre.

A voir.

A++

Bonjour

J'ai bien vérifier tout est en minuscule, dans le code et le nom des fichiers.

salut,

justement il faut les majuscules a+