Bonjour a tous. Tout d'abord je tiens à préciser que je commence tout juste CakePhp, j'ai cherché quelques info mais rien de concluant.
Je poste directement mon code (au passage me dire ce qu'il ne va pas):
<?php
class ArticlesController extends AppController{
public function index(){
$d'articles'] = $this->Article->find('all');
$d'title_for_layout'] = 'Home';
$this->set($d);
}
public function show($id = null, $slug = null){
$d'article'] = $this->Article->find('first', array(
'conditions' => array('Article.id' => $id)
));
if(isset($this->params'pass'][1]) && isset($this->params'pass'][0])){
if($this->params'pass'][1].'-'.$this->params'pass'][0] == $d'article']'Article']'slug'].'-'.$d'article']'Article']'id']){
$this->set($d);
}
else{
$this->redirect('/');
}
}
else{
$this->redirect('/');
}
}
?>
<?php
class Article extends AppModel{
public function afterFind($data){
foreach ($data as $k => $d) {
if(isset($d'Article']'slug']) && isset($d'Article']'id'])){
$d'Article']'link'] = array(
'controller' => 'articles',
'action' => 'show',
'id' => $d'Article']'id'],
'slug' => $d'Article']'slug']
);
}
$data$k] = $d;
}
return $data;
}
}
?>
Je souhaite, lorsque mon url ne correspond pas au bon Slug, mais au bon ID, rediriger vers la même page afin de corriger l'url.
Par exemple:
http://localhost/site/lorePOAZLSm-ipsum-1 => http://localhost/site/lorem-ipsum-1
Le problème c'est qu'il faut (à mon avis), un moyen pour faire passer mes variables $slug et $id lors de la redirection.
Mais je ne trouve aucun moyen.
J'espère que c'est clair ^^
Merci.