Ошибка URL-параметра при сохранении элемента формы в Zend Framework 2

В module.config.php

...
'may_terminate' => true,
'child_routes' => array(
'resetpassword' => array(
'type' => 'Literal',
'options' => array(
'route' => '/reset-password',
'defaults' => array(
'controller' => 'User\Controller\Index',
'action' => 'resetpassword',
),
),
),
)
...

И форма сброса пароля .phtml

<?php
$user_id = 1;
$token = 'ABCXYZ'
$form = $this->form;
$form->prepare();
$form->setAttribute('action', $this->url('user/resetpassword?user_id='.$user_id.'&token='.$token));
$form->setAttribute('id', 'reset-password-form');
?>

Если я установлю $form->setAttribute('action', $this->url('user/resetpassword')); все в порядке, но когда установленный параметр имеет значение user_id с токеном => ошибка
Как это исправить?

0

Решение

Потому что первым аргументом помощника вида Url является имя маршрута. Если вы хотите добавить несколько параметров запроса, вы можете использовать третий аргумент ($optionsсм документацию)

Пример:

$url = $this->url('user/resetpassword', [], ['query' => ['user_id' => $user_id]]);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]