【发布时间】:2016-09-27 13:52:32
【问题描述】:
我正在尝试获取 URL 中的最后一个 slug 以传递给我的控制器以用作过滤器的参数。不幸的是,我总是收到一个找不到页面的错误。
示例网址:/sectors/category/energy
Routes.yml:
---
Name: mysiteroutes
After: framework/routes#coreroutes
---
Director:
rules:
'sectors': 'BlogPostsPage_Controller'
我的控制器:
class BlogPostsPage_Controller extends Page_Controller {
private static $url_handlers = array(
'$ID' => 'News',
);
private static $allowed_actions = array('News');
public function News(SS_HTTPRequest $request)
{
$news = BlogPost::get()
->filter(array(
'Categories.URLSegment' => '',
'Tags.Title' => 'News'
))
;
return $this->render();
}
}
进行调试表明 ID 是能量,但仅此而已。
我错过了什么吗?
谢谢
【问题讨论】:
-
你
?flush了吗? github.com/NightJar/ssrigging-slug 也是一个不错的模块,您可以将其用于此功能。 -
我认为你不需要
framework/routes#coreroutes,相当肯定你只需要#coreroutes
标签: controller routing silverstripe