与SilverStripe Docs中描述的肤浅一样,我试图为我的主页设置自定义控制器。
我将默认主页链接更改为' custom-home'并添加了这两条路线。 第二个,其中的路径工作,并指导我到我的控制器。第一个(空)只是将我发送到404错误页面。
无法弄清楚如何解决这个问题。有什么建议吗?
routes.yml
Director:
rules:
'': 'MyHome_Controller'
'custom-home': 'MyHome_Controller
_config.php
RootURLController::set_default_homepage_link('custom-home');
MyHome_Controller.php
<?php
class MyHome_Controller extends Page_Controller {
private static $allowed_actions = [];
private static $url_handlers = [];
public function init() {
parent::init();
}
public function Link($action = null) {
return Director::baseURL() . 'custom-home';
}
public function index() {
$data = [
'Title' => 'Hello World',
'ClassName' => __CLASS__,
];
return $this
->customise($data)
->renderWith([__CLASS__, 'Page']);
}
}
答案 0 :(得分:0)
我相信空路线(RootURLController
)的工作方式是您告诉它应该解析为根URL的CMS中的URLSegment
页面。所以我认为您需要做的是进入CMS并将CustomHomePage的URLSegment更改为“custom-home”。