URL с параметрами

0

У меня есть параметры 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), но я не могу найти много информации о них. Я передаю переменные в форму и поиск на основе параметров. Спасибо за вход.

  • 0
    Вы путаете параметры маршрута и параметры запроса. Если вы хотите создать URL-адрес с параметром запроса, вам нужно объединить строку запроса с созданным URL-адресом, например: <a href="<?php echo $this-> url ('home / results');?>? search_industry = 0 & search_zip = 0 & language_name = 3" >
Теги:
url
zend-framework
zend-framework2

1 ответ

0
Лучший ответ

Выше комментарий на месте! Ниже я обновляюсь до...

 <td>        <a href="<?php echo $this->url('home/results',
        array(
            ),array('query' => ['language_name' => $language->language_name_id],)
         );?>"> <?php echo $language->language_name  ?> </a>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню