CakePHP 3 - Как создать ссылку в представлении, которая будет сочетать текущий параметр URL?

Привет, друзья CakePHP.

Могу ли я предложить вам, как я могу создать ссылку в представлении, которое имеет "?" => [], но не очистит исходный параметр в URL-адресе, который просматривает пользователь?

Например,

<?= $this->Html->link("Blue", ["?" => ["color" => "blue"]]) ?>

генерирует ссылку для передачи параметра в URL-адресе, например ?color=blue

Допустим, пользователь нажал на эту ссылку, и я хочу предоставить ему другую ссылку, чтобы добавить 1 или более условий.

<?= $this->Html->link("Circle", ["?" => ["shape" => "circle"]]) ?>

генерирует ссылку типа ?shape=circle.

Но я надеюсь, что это будет: ?color=blue&shape=circle.

Пожалуйста помоги. Спасибо. Вы можете просто написать в ответ, если он у вас есть.


person Tsumannai    schedule 16.12.2015    source источник


Ответы (2)


вы можете найти параметры запроса в

$this->request->query

так что вы можете использовать array_merge

$query = array_merge($this->request->query, ["shape" => "circle"]);
echo $this->Html->link("Circle", $query) 
person arilia    schedule 16.12.2015

Вам просто нужно объединить два массива ?: -

<?= $this->Html->link("Blue Circle", ["?" => ["color" => "blue", "shape" => "circle"]]) ?>
person drmonkeyninja    schedule 16.12.2015
comment
Спасибо за ваш ответ. Возможно, мой вопрос недостаточно ясен из-за моего плохого английского. Но да, ответ Ариллии помогает. - person Tsumannai; 17.12.2015