Как я могу получить доступ к параметру, отправленному через URL в моих файлах просмотра в CakePHP? - PullRequest
6 голосов
/ 24 октября 2008

Я новичок в CakePHP, но я читал их часто задаваемые вопросы и руководства безрезультатно. Это так просто, что я просто не должен думать прямо:

Как я могу получить доступ к параметру, отправленному через URL в моих файлах просмотра?

Пример: http://example.com/view/6

Как бы я взял этот параметр ("6") и переключил бы его через контроллер на другую страницу просмотра?

Если это слишком сложно для быстрого ответа, как я могу сослаться на 6 на самой странице просмотра? 6 в этой ситуации - это значение «Id» в моей базе данных, и мне нужно установить его в качестве «родителя» -

Спасибо

Ответы [ 4 ]

16 голосов
/ 28 февраля 2010

Параметры могут быть получены как это

$this->params['pass']

Возвращает массив (численно проиндексированный) параметров URL после действия.

// URL: /posts/view/12/print/narrow
Array
(
    [0] => 12
    [1] => print
    [2] => narrow
)
5 голосов
/ 24 октября 2008

Чтобы получить доступ к параметру в вашем представлении , просмотрите $this->params

2 голосов
/ 24 октября 2008

URL, как он есть, будет вызывать метод 6 () вашего ViewController, который не является допустимым именем метода. Возможно, вам придется поиграть с вашими маршрутами, чтобы заставить это работать.

Если вы не хотите настраивать маршруты, вам понадобится контроллер в URL, например:

http://example.com/thinger/view/6

, который будет вызывать thingerControllerObject->view("6"). Если вы хотите, чтобы «/ view /» использовал другой метод, отредактируйте маршруты. См:

0 голосов
/ 29 апреля 2015

Используйте код ниже в файле просмотра:

$url=Router::url($this->here, true);
$url_arr=explode("/",$url);

Чтобы увидеть содержимое $url в разобранном виде, просто распечатайте его, используя pr (), как показано ниже:

pr($url_arr);

Он напечатает ассоциативный массив, таким образом, вы можете получить доступ к любому количеству параметров, отправленных через URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...