我是Zend Framework的新手,我遇到路线问题 我想做这样的事情:
http://localhost/category/
转到没有页面和城市参数的类别控制器
http://localhost/category/page/
转到带有页面参数且没有城市参数的类别
http://localhost/category/city/
转到带有city参数且没有页面参数的类别控制器
http://localhost/category/city/page/
转到带有城市和页面参数的类别控制器
http://localhost/city/
转到没有页面参数的城市控制器
http://localhost/city/page/
使用页面参数
P.S。页面是paginator param 我想做的是这样的事情:
localhost/phones/new-york/2 gets second page products form category phones and city New York
localhost/phones/2 gets second page products form category from all cities
localhost/new-york/2 gets second page of all products form city New York and so on...
我可以在Zend Framework中使用标准路由实现这一点,还是编写自定义路由器?
是否可以在$this->url
符号后传递?
个可选参数?我的意思是这样的:
http://localhost/category/city?order_by=category-name&order_asc
答案 0 :(得分:0)
URL帮助程序不会输出查询字符串参数,因为它们不是路由的一部分。您的选择是:
将它们包括在最后:
<a href="<?=$this->url(array('controller' => 'category', 'something' => 'city')?>?order_by=category-name&order_asc">Some link</a>
或更改路线以使用键/值对:
http://localhost/:controller/:something/*
然后,你可以这样做:
<a href="<?=$this->url(array('controller' => 'category', 'something' => 'city', 'order_by' => 'category-name', 'order_asc' => 1)?>">Some link</a>
将输出:
<a href="/category/city/order_by/category-name/order_asc/1">Some link</a>