2015-01-23 2 views
1

SilverStripe 웹 사이트 전용 프레임 워크를 만들고 싶습니다. 그러나 올바르게 라우팅 할 수 없었습니다.프레임 워크 전용 SilverStripe 사이트 설정

소수의 URL을 처리하는 단일 컨트롤러가 필요합니다. 빈 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

당신은 인덱스보다 다른 작업을하기 전에 컨트롤러에서 $ allowed_actions 배열을 정의 할 필요가있다() 작동을 다음과 같이

내 노선이다.

관련 문제