2014-12-10 9 views
0

У меня есть параметры url, работающие через форму, однако у меня возникают проблемы с передачей параметров по 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-адрес, как показано ниже

results?search_industry=&search_zip=&submit=Go 

Как я могу использовать сообщение на URL-адресе? Я вижу, что у него есть еще две переменные ($ routeOptions, $ reuseMatchedParams), но я не могу найти много информации о них. Я передаю переменные в форму и поиск на основе параметров. Спасибо за вход.

+0

Вы вводите в заблуждение параметры маршрута и параметры запроса. Если вы хотите создать URL-адрес с параметром запроса, вам нужно выполнить строку запроса к вашему сгенерированному URL-адресу, например: SmasherHell

ответ

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>