J'ai une page vers laquelle je veux rediriger qui nécessite des paramètres dans l'URL: http://www.example.com/myController/myAction/param1:val1/param2:val2
Je sais qu'il existe une fonction de redirection CakePHP pour la redirection qui fonctionne comme suit:
$this->redirect(array("controller" => "myController",
"action" => "myAction",
$data_can_be_passed_here),
$status, $exit);
Comment puis-je ajouter les paramètres que je souhaite dans le cadre de l'URL à l'aide de la fonction ci-dessus?
Je pense qu'il pourrait y avoir un autre élément que je pourrais ajouter au tableau afin que je puisse passer param1:val1
et param2:val2
.
Toute aide serait grandement appréciée!
Je ne sais pas pourquoi je n'ai pas pu trouver cela dans la documentation de CakePHP, mais j'ai finalement trouvé la solution. Je le poste ici au cas où quelqu'un d'autre aurait le même problème. (Si quelqu'un sait où cela se trouve dans la documentation, veuillez également le poster, merci!)
Pour rediriger vers l'URL:
http://www.example.com/myController/myAction/param1:val1/param2:val2
Vous pouvez utiliser:
$this->redirect(array("controller" => "myController", "action" => "myAction", "param1" => "val1", "param2" => "val2", $data_can_be_passed_here), $status, $exit);
J'espère que cela aide!
Si vous devez rediriger avec exactement les paramètres get, passez '?'
index à $url
argument de tableau:
$this->redirect(
array(
"controller" => "myController",
"action" => "myAction",
"?" => array(
"param1" => "val1",
"param2" => "val2"
),
$data_can_be_passed_here
),
$status,
$exit
);
Il redirige vers /myController/muAction/...?param1=val1¶m2=val2
Cela est vrai au moins dans CakePHP 1.3
Au lieu de cela, vous pouvez également utiliser ce format
<?php
$this->redirect('/controller/action/par1:par1/par2:par2/');
?>
<?php
$this->redirect('/controller/action/id/10/name/hello/');
?>
Je fais habituellement quelque chose comme ceci: $this->redirect(['action' => 'view', $id, 'admins' => true]);
J'espère que cela vous aidera.