CakePHP Отправить запрос со ссылкой - PullRequest
6 голосов
/ 16 июля 2011

Я создал ссылку в своем приложении, чтобы позволить пользователям создавать встречи, но мне нужно передать некоторые дополнительные данные, чтобы приложение знало, для какого клиента записать встречу. Как бы я это сделал?

например. <li><?php echo $this->Html->link('Book Appointment', array('admin' => true, 'controller' => 'appointments', 'action' => 'add')); ?></li>

Таким образом, URL будет выглядеть примерно так: /admin/appointments/add?clientid=2

ПРИМЕЧАНИЕ. Если кто-то считает, что это плохой способ сделать это, прокомментируйте также альтернативные решения и т. Д. Спасибо

Ответы [ 2 ]

14 голосов
/ 16 июля 2011

Я нашел это в документации: http://book.cakephp.org/view/1442/link

Вы можете сделать следующее:

<li><?php echo $this->Html->link('Book Appointment', array(
    'admin' => true,
    'controller' => 'appointments',
    'action' => 'add',
    '?' => array('clientid' => $clientId))
); ?></li>

Код не проверен, так как у меня не установлен CakePHP, и былДавно я использовал это.Я уверен, что вы можете получить пример работы, посмотрев документацию также.

3 голосов
/ 16 июля 2011

Идентификатор можно передать как именованный или безымянный параметр.

Безымянный параметр (более простой способ), предполагая, что идентификатор находится в $clientId:

$this->Html->link('Book Appointment', array('admin' => true, 'controller' => 'appointments', 'action' => 'add', $clientId )) иURL выглядит как /admin/appointments/add/2

В контроллере: function add( $clientId ) { ... }

Именованный параметр:

$this->Html->link('Book Appointment', array('admin' => true, 'controller' => 'appointments', 'action' => 'add', 'clientId' => $clientId )), а URL выглядит как /admin/appointments/add/clientId:2

В контроллере: function add() { $clientId = $this->params[ 'named' ][ 'clientId' ]; ... }

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