Intereting Posts

Cake PHP перенаправляет с параметрами в url

У меня есть страница, на которую я хочу перенаправить, для которой требуются параметры в URL-адресе: http://www.example.com/myController/myAction/param1:val1/param2:val2

Я знаю, что существует функция перенаправления CakePHP для перенаправления, которая работает следующим образом:

$this->redirect(array("controller" => "myController", "action" => "myAction", $data_can_be_passed_here), $status, $exit); 

Как добавить параметры, которые я хочу как часть URL, используя указанную выше функцию?

Я бы подумал, что может быть другой элемент, который я мог бы добавить к массиву, чтобы я мог передать param1:val1 и param2:val2 .

Любая помощь будет принята с благодарностью!

Я не знаю, почему я не смог найти это в документации CakePHP, но, наконец, выяснил решение. Я отправляю его здесь, если у кого-то другая проблема. (Если кто-то знает, где это находится в документации, отправьте его, спасибо!)

Чтобы перенаправить URL-адрес:

http://www.example.com/myController/myAction/param1:val1/param2:val2

Вы можете использовать:

 $this->redirect(array("controller" => "myController", "action" => "myAction", "param1" => "val1", "param2" => "val2", $data_can_be_passed_here), $status, $exit); 

Надеюсь, поможет!

Если вам нужно перенаправить с точным получением параметров, передайте '?' index в аргумент массива $url :

 $this->redirect( array( "controller" => "myController", "action" => "myAction", "?" => array( "param1" => "val1", "param2" => "val2" ), $data_can_be_passed_here ), $status, $exit ); 

Он перенаправляет на /myController/muAction/...?param1=val1&param2=val2

Это верно, по крайней мере, в CakePHP 1.3

Вместо этого вы можете использовать этот формат также

 <?php $this->redirect('/controller/action/par1:par1/par2:par2/'); ?> <?php $this->redirect('/controller/action/id/10/name/hello/'); ?> 

Обычно я делаю что-то вроде этого: $this->redirect(['action' => 'view', $id, 'admins' => true]);

Надеюсь, это поможет вам.