Bonjour, voila j'ai un soucis avec mes routes.
Voici mon code pour les routes concernant la page 'this-is-reggae':
Router::connect('/this-is-reggae',array('controller'=>'pages','action'=>'thisisreggae','admin'=>false));
Router::connect('/this-is-reggae/page::page/:id',array('controller'=>'pages','action'=>'thisisreggae','admin'=>false),array('pass'=>array('id'),'id'=>'[0-9]+'));
Router::connect('/this-is-reggae/:id-:slug',array('controller'=>'pages','action'=>'thisisreggae','admin'=>false),array('pass'=>array('id','slug','pag'),'id'=>'[0-9]+'));
Voici le code de ma vue :
echo $this->Html->image('45t/'.$vv'cover'],array('alt'=>$vv'cover'],'class'=>'miniDisk','url' => array("controller"=>'pages','action'=>'thisisreggae','id'=>$vv'id'],'slug'=>$slug,'pag'=>$pageActu)));
Et voici l'action de mon controller :
public function thisisreggae($id = null,$slug = null,$pag = null){
if(!empty($this->request->query'page'])){
$p = $this->request->query'page'];
}
else{
$p = '1';
}
$this->paginate = array(
'order' => 'id DESC',
'limit' => 9,
'paramType' => 'querystring'
);
if(empty($id)){
$page=$this->Post->find('first',array(
'conditions'=> array('Post.slug'=>'this-is-reggae','type'=>'page')
));
$d'page']= current($page);
$disk=$this->Disk->find('first',array(
'order' => array('Disk.id DESC')
));
$d'disk']= $disk;
$d'diskAll'] = $this->Paginate('Disk');
$this->Session->write('pagination',$p);
$this->set($d);
}
else{
$page=$this->Post->find('first',array(
'conditions'=> array('Post.slug'=>'this-is-reggae','type'=>'page')
));
$d'page']= current($page);
$disk=$this->Disk->find('first',array(
'conditions'=> array('Disk.id'=>$id)
));
$d'disk']= $disk;
$d'diskAll'] = $this->Paginate('Disk');
$this->Session->write('pagination',$p);
$this->set($d);
$this->Session->destroy();
}
}
J'obtient comme url : http://127.0.0.1/monsite/pages/thisisreggae/id:36/slug:Test3/pag:1
au lieu de : http://127.0.0.1/monsite/this-is-reggae/36-Test3
Est ce que quelqu'un peut m'aider svp?
Merci d'avance.
Mais les règles les plus détaillé en premier.
Commence par
Router::connect('/this-is-reggae/page::page/:id',array('controller'=>'pages','action'=>'thisisreggae','admin'=>false),array('pass'=>array('id'),'id'=>'[0-9]+'));
Router::connect('/this-is-reggae/page::page/:id',array('controller'=>'pages','action'=>'thisisreggae','admin'=>false),array('pass'=>array('id'),'id'=>'[0-9]+'));
Router::connect('/this-is-reggae',array('controller'=>'pages','action'=>'thisisreggae','admin'=>false));
En fait comme me l'a indiqué jails sur le chat IRC, il fallait simplement rajouter :pag dans l'url.
Mais merci Grafikart pour la règle.