J'utilise le plugin Tags de cakedc.com, et j'ai un problème pour générer les liens de pagination appropriés en utilisant le PaginatorHelper.cakephp: problème avec PaginatorHelper et les plugins de routage, impossible de retirer le plugin de l'url
Le résultat souhaité est de supprimer le nom du plugin des fichiers hrefs générés, car le plugin sera ajouté au routage. à-dire http://localhost/balises/photos/oregon/page: 4/PerPage: 28
C'est ce que j'ai:
app/config/routes.php (à la carte '/ tags' => '/ tags/tags', à savoir le plugin tags)
Router::connect('/tags/:action/*', array('plugin'=>'tags', 'controller'=>'tags'));
// map /tags => /tags/tags
Code
dans le fichier de vue:
<?php
$this->Paginator->options['url']=array_merge(
array('plugin'=>'tags'),
$this->Paginator->options['url']
);
echo $this->Paginator->numbers(array('separator'=>null, 'modulus'=>'20'));
// debug($this->Paginator->options[url] => Array
// (
// [controller] => tags
// [action] => photos
// [0] => oregon
// [perpage] => 28
// [page] => 4
// )
//)
// sample href="http://localhost/tags/tags/photos/oregon/page:4/perpage:28"
// note the '/tags/tags' i.e. /:plugin/:controller
?>
BU, je remarque ce qui suit, si je définir des options [ 'url'] comme suit:
<?php
$this->Paginator->options['url']=array('plugin'=>'tags');
echo $this->Paginator->numbers(array('separator'=>null, 'modulus'=>'20'));
// debug($this->Paginator->options[url] => Array
// (
// [plugin] => tags
// )
//)
// sample href="http://localhost/tags/photos/page:4"
?>
Je pense que j'ajoute l'option plugin => array parce que le routage inverse est supposé l'enlever automatiquement quand l'URL finale est générée. Et c'est le cas pour le 2ème exemple, mais pas le premier. – michael
Que diriez-vous de l'écrire comme ceci: '$ paginator-> options (array ('url' => array_merge (array ('plugin' => 'tags'))));' –