cakephp中具体的排序和方向路线

时间:2014-03-17 14:03:56

标签: sorting cakephp routes

我环顾四周寻找答案,虽然我找到了有关路线的话题,但我发现在这种情况下没有找到答案。所以我走了,试图解释我的问题=]

背景资料

我在Cakephp为一个房地产经纪人创建了一个网站。在此网站上,您可以根据街道发布日期价格对房屋进行排序。

我想要什么

我想更改这些当前网址:
websitename.nl/houses/index/page:4/sort:street/direction:desc
websitename.nl/houses/index/sort:street/direction:desc/page:4

类似于:
websitename.nl/houses/street/descending/4
websitename.nl/houses/price/ascending/4

街道/价格和降序/升序将转换为荷兰语。

我已经尝试了什么

我尝试在routes.php中添加它:

Router::connect('/huizenaanbod/datum/aflopend/:page', array('controller' => 'houses', 'action' => 'index', 'sort'=>'published', 'direction' => 'desc'), array('page' => '[0-9]+'));
Router::connect('/huizenaanbod/datum/oplopend/:page', array('controller' => 'houses', 'action' => 'index', 'sort'=>'published', 'direction' => 'asc'), array('page' => '[0-9]+')); 

但它忽略了desc并且只有asc工作..所以我试着在index.ctp中添加它:

if((!empty($this->params['sort']) && $this->params['sort'] == "published") && $this->params['direction'] == 'desc'){
    echo $this->Paginator->sort('published', 'datum', array('direction' => 'asc', 'escape' => false));
} else {
    echo $this->Paginator->sort('published', 'datum', array('direction' => 'desc', 'escape' => false));
}

尽管url现在确实发生了变化,但排序结果仍然是ASC。

所以我的问题是:
如何在路线中创建网址,并结合:页面,以获取特定的排序和方向?

如果您需要更多信息,请与我们联系。

提前谢谢你=]

1 个答案:

答案 0 :(得分:0)

您最好查看其他网络代理商网站,了解他们如何进行过滤。看下面的链接,看看如何传递参数......例如

  

http://www.rightmove.co.uk/property-for-sale/find.html?searchType=SALE&locationIdentifier=REGION%5E92826&insId=1&radius=0.0&displayPropertyType=&minBedrooms=&maxBedrooms=3&minPrice=&maxPrice=&retirement=&partBuyPartRent=&maxDaysSinceAdded=&_includeSSTC=on&sortByPriceDescending=&primaryDisplayPropertyType=&secondaryDisplayPropertyType=&oldDisplayPropertyType=&oldPrimaryDisplayPropertyType=&newHome=&auction=false

现在让我们回答你的问题......传递你需要使用的所有参数/ **例如

Router::connect(
    '/action_name/**', //once you requesting rather than star you need to put your parameters 
    array('controller' => 'pages', 'action' => 'show')
);
//www.exsmple.com/action_name/parameters here...

Reference

您还可以自定义分页类from here