【问题标题】:CakePHP Routers with language, slug, pagination带有语言、slug、分页的 CakePHP 路由器
【发布时间】:2013-02-15 06:37:48
【问题描述】:

使用 CakePHP 1.3 我正在尝试获得具有语言、slug、分页、顺序的路由器。

目前我有这些:

Router::connect('/', array('controller' => 'pages', 'action' => 'index'));
Router::connect("/:controller/:slug", array('action' => 'view'), array('pass' => array('slug')));
Router::connect("/:lang", array('controller' => 'pages', 'action' => 'index'), array('lang' => 'fr|en|de'));
Router::connect("/:lang/:controller/:slug", array('action' => 'view'), array('lang' => 'fr|en|de', 'pass' => array('slug')));

那些正在使用 language 和 slug set 或 slug 和 pagination ,但它们三个都失败了:

OK - /pages/view/page-slug/page:2
OK - /fr/pages/page-slug
FAIL - /pages/view/page-slug/page:2/lang:fr

我试过了

<?php $this->Paginator->options(array('url' => $this->passedArgs)); ?>

在分页器之前但仍然是相同的结果

【问题讨论】:

    标签: cakephp url-rewriting routing pagination cakephp-1.3


    【解决方案1】:

    试试这段代码

    Router::connectNamed(array('language','pagination','order','slug'));
        Router::connect('/lang/pagination/:slug:order', array(
            'plugin' => false,
            'controller' => 'pages', 
            'action' => 'index',
            ),array(
                "pass"=>array("lang","pagination","slug","order")
            ),array(
                'pagination' => '[0-9]+',
                'order' => '[0-9]+',
            )
        );
    

    【讨论】:

      猜你喜欢
      • 2012-02-22
      • 2016-05-11
      • 2015-09-30
      • 2012-01-02
      • 1970-01-01
      • 2012-02-09
      • 2013-12-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多