Bonjour,
Cela concerne le tuto Creer un site avec Cake Php.
J'ai tenté de rajouter un troisième paramètre dans un lien prédéfini dans mon model. le paramètre 'type'
<?php
class Product extends AppModel{
public function afterFind($data){
foreach($data as $k=>$d){
if(isset($d'Product']'slug']) && isset($d'Product']'id'])){
$d'Product']'link'] = array(
'controller' => 'products',
'action' => 'show',
'id' => $d'Product']'id'],
'slug' => $d'Product']'slug'],
'type' => $d'Product']'type']
);
}
$data$k] = $d;
}
return $data;
}
}
?>
Cependant, lors de l'ajout, lorsque je fait un debug($this->request->params), il me fait ca :
Array
(
[plugin] =>
[controller] => products
[action] => show
[named] => Array
(
[id] => 3
[slug] => latte-coffee
[type] => 0
)
[pass] => Array
(
)
)
Voici un exemple sans le troisieme parametre dans mon model :
Array
(
[plugin] =>
[controller] => products
[action] => show
[slug] => latte-coffee
[id] => 3
[named] => Array
(
)
[pass] => Array
(
[0] => 3
[1] => latte-coffee
)
)
Voila, je ne comprend pas pourquoi il me transfère mes paramètres dans [named] ?
Aillant pourtant bien formaté mon routing :
Router::connect('/product/:slug-:id',array('controller'=>'products','action'=>'show'),array('pass'=> array('id','slug','type'), 'id'=>'[0-9]+','slug' =>'[a-z0-9\-]+','type' => '[0-9]+'));
Du coup je n'arrive pas à utiliser mes parametre pour mes actions, exemple :
function show($id = null, $slug=null, $type=0){...}
bon ben voila comment j'ai dû procéder :
function show($i=null, $s=null, $t=null){
$ids = $this->request->params'named']'id'];
$slug = $this->request->params'named']'slug'];
$type = $this->request->params'named']'type'];
Salut, J'ai eu le meme soucis à un moment, j'ai effacer la ligne de routes.php et je l'ai réécrit et cela a fonctionné
ah bon, merci pour ton conseil, je testerai la prochaine fois que j'en aurai l'occasion d'utiliser 3 paramètres.