从cakephp 3.x中的url中删除特定的查询字符串

时间:2017-03-20 09:30:55

标签: php cakephp routing cakephp-3.x

我知道我的问题标题听起来像重复,但事实并非如此。我们的项目是多语言的。我在此页面上有列表页面,应用了cakephp分页。但分页编号的链接是:

$routes->connect('/controller', 
               ['language' => 'en', 'controller' => 'controller', 'action' => 'action']
    );

我使用下面提到的路由代码实现了路由以消失操作:

http://example.com/controller?language=en&page=8

所以现在是:

http://example.com/controller?page=8

但我的要求是这样的

$routes->connect('/controller/:page', 
           ['language' => 'en', 'controller' => 'controller', 'action' => 'action'], ['page' => "(?page:'[0-9]+]')"]
);

为了实现我的目标,我实现了这段代码

config.autoload_paths += Dir["#{Rails.root}/app/api/*"]

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可能需要调整PaginatorHelper设置才能将language参数传递给其链接。

$this->Paginator->options([
    'url' => [
        'language' => 'en'
    ]
]);

请参阅https://book.cakephp.org/3.0/en/views/helpers/paginator.html#configuring-pagination-options