Comme marqué dans le titre, si je suis dans le site sur les contrôleurs principale comment faire en sorte que mon menu généré par le helper utilise un controller extérieur à celui du plugin?
Dans me menu si j'utilise:
<li class="pull-left"><?php echo $this->Html->link('Actualité',array('controller'=>'posts','action'=>'index')); ?></li>
Il ira bien dans actualité, mais si le l'utilise dans le forum, il créera un lien /forum/post donc comment faire pour que le lien générer soit en dehors du plugin forum?
Salut j'ai remarqué que lorsque que tu mettais un plugin sur cake, les liens vers un controller du plugin doivent être indéxé en pus par 'plugin'=>'nom_du_plugin' et les liens vers les controllers de l'App principale par 'plugin'=>null
au lieu de passer par un array tu le fais à partir du chemin absolue.
<?php echo $this->Html->link('Actualité', '/posts/index'); ?>
Normalement il devrai te rediriger au bon endroit
vu sur http://book.cakephp.org/2.0/en/core-libraries/helpers/html.html
Merci mais je voulais éviter ceci car cela ne met pas en forme l'URL par le route, exemple si actualité est considérer comme:
Router::connect('/', array('controller' => 'posts', 'action' => 'index'));
Alors l'url ne prendra pas forme comme indiqué dans le fichier route.
Cette solution
<?php echo $this->Html->link('Actualité', '/posts/index'); ?>
est une solution "bancale" même si elle fonctionne, ce n'est pas très propre.
Deplus on peu le faire d'un plugin à l'autre
Router::connect('/monplugin', array('plugin' => 'monplugin', 'controller' => 'monplugin', 'action' => 'index'));
$this->Html->link('monplugin',array('plugin' => 'monplugin', 'controller' => 'monplugin', 'action' => 'index'));
Donc je trouve bizarre que l'on puisse pas le faire sur le contrôleur principal. Sinon je créerai tout en plugin au moins j'aurai plus de soucie et cakephp pourra généré proprement les URLs en passant par le fichier route