0

我是 Zend 框架的新手,我遇到了路由问题。
我想做这样的事情:

  • http://localhost/category/
    转到没有页面和城市参数的类别控制器

  • http://localhost/category/page/
    转到具有页面参数且没有城市参数的类别

  • http://localhost/category/city/
    转到具有城市参数且没有页面参数的类别控制器

  • http://localhost/category/city/page/
    使用城市和页面参数进入类别控制器

  • http://localhost/city/
    进入没有页面参数的城市控制器

  • http://localhost/city/page/
    使用页面参数进入城市控制器

ps page is 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
4

1 回答 1

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>
于 2012-08-22T15:50:55.277 回答