wake-up-neo.com

Cake PHP umleiten mit Parametern in URL

Ich habe eine Seite, zu der ich umleiten möchte, für die Parameter in der URL erforderlich sind: http://www.example.com/myController/myAction/param1:val1/param2:val2

Ich weiß, dass es eine CakePHP-Umleitungsfunktion für die Umleitung gibt, die wie folgt funktioniert:

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

Wie füge ich die gewünschten Parameter als Teil der URL mit der obigen Funktion hinzu?

Ich würde denken, dass es ein weiteres Element geben könnte, das ich zum Array hinzufügen könnte, damit ich param1:val1 Und param2:val2 Weitergeben kann.

Jede Hilfe wäre sehr dankbar!

28
megaboss98

Ich weiß nicht, warum ich das in der CakePHP-Dokumentation nicht finden konnte, aber ich habe endlich die Lösung gefunden. Ich poste es hier, falls jemand das gleiche Problem hat. (Wenn jemand weiß, wo dies in der Dokumentation steht, posten Sie es bitte ebenfalls, danke!)

So leiten Sie zur URL weiter:

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

Sie können verwenden:

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

Ich hoffe es hilft!

49
megaboss98

Wenn Sie mit genau Umleitung benötigen Parameter bekommen, dann passieren '?' Index zu $url Array-Argument:

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

Es leitet weiter zu /myController/muAction/...?param1=val1&param2=val2

Dies gilt zumindest in CakePHP 1.3

21
Serge S.

Stattdessen können Sie auch dieses Format verwenden

<?php

$this->redirect('/controller/action/par1:par1/par2:par2/');


?>

<?php

$this->redirect('/controller/action/id/10/name/hello/');

?>
4
Kiran

Normalerweise mache ich so etwas: $this->redirect(['action' => 'view', $id, 'admins' => true]);

Hoffe es wird dir helfen.

2
D.Dimitrioglo