我希望只为SilverStripe网站创建一个框架,但是我无法正确设置它的路由。
我想让一个控制器处理一些URL。我希望它也处理一个空URL,即'/'
。
我无法让我的控制器区分不同的网址。
我的路线如下:
---
Name: rootroutes
---
Director:
rules:
'$Action/$ID/$OtherID': 'MainController'
'': 'MainController'
和我的控制员:
class MainController extends Controller {
private static $url_handlers = array(
'$Action//$ID/$OtherID' => 'handleAction',
);
public function index() {
return "index";
}
public function login() {
return "login";
}
public function handleAction($request, $action) {
var_dump($action); // always 'index'
if($this->hasMethod($action)) {
return $this->$action();
}
}
}
答案 0 :(得分:0)
在index()以外的操作可行之前,您需要在控制器上定义$ allowed_actions数组。