带参数的URL

时间:2014-12-10 20:00:04

标签: php url zend-framework zend-framework2

我的url参数通过表单工作但是我无法通过url传递params。

我目前通过get方法在url中发布我的查询。然后,我可以通过下面的参数函数检索此参数。

$search_industry = (int) $this->params()->fromQuery('search_industry', 0);

目前我的网址有两个问题

首先:参数是基于订单发布的,而不是基于我在模块配置中给出的名称。在我的配置中,“搜索​​行业”首先是如果我通过语言而没有行业语言参数成为行业参数。

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

因此我将我的网址建立为以下内容......

<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 

如何在网址上使用帖子?我看到它有2个其他变量($ routeOptions,$ reuseMatchedParams),但我找不到它们的很多信息。我将变量传递给表单,并根据参数进行搜索。谢谢你的反馈。

1 个答案:

答案 0 :(得分: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>