У меня есть параметры url, работающие через форму, но у меня возникают проблемы с передачей параметров по URL-адресу.
В настоящее время я отправляю свой запрос в url с помощью метода get. Затем я могу вернуть этот параметр через функцию params ниже.
$search_industry = (int) $this->params()->fromQuery('search_industry', 0);
У меня есть два вопроса с url в настоящее время
Сначала: параметры отправляются на основе порядка, а не на основе имени, которое я им дал в конфигурации модуля. В моей конфигурации "индустрия поиска" сначала, однако, если я передаю язык, а не отрасль, язык param становится отраслевым параметром.
module config param
'results' => array(
'type' => 'segment',
'options' => array(
'route' => 'results[/:search_industry][/:search_zip][/:language_name]
'defaults' => array(
'controller' => 'Application\Controller\Index',
'action' => 'results',
),
),
),
),
),
Что происходит
when...
search industry = null
language name = english
url = results/english
search industry = english
language name = 0
Из-за этого я построил свой url как следующий...
<a href="<?php echo $this->url('home/results',
array(
'search_industry'=>'0',
'search_zip'=>'0',
'language_name'=>'3'
)
);?>"> <?php echo $language->language_name ?> </a>
Второе: это сообщение URL как сегмент. Используя пост в моих формах, я могу получить URL-адрес, как показано ниже
results?search_industry=&search_zip=&submit=Go
Как я могу использовать сообщение в URL-адресе? Я вижу, что у него есть еще две переменные ($ routeOptions, $ reuseMatchedParams), но я не могу найти много информации о них. Я передаю переменные в форму и поиск на основе параметров. Спасибо за вход.
Выше комментарий на месте! Ниже я обновляюсь до...
<td> <a href="<?php echo $this->url('home/results',
array(
),array('query' => ['language_name' => $language->language_name_id],)
);?>"> <?php echo $language->language_name ?> </a>