2013-12-14 2 views
0

MVC4를 사용하여 OPAC 검색 웹 사이트를 개발했습니다. MVC 영역이 여러 개 있습니다. 이번에는 Orchard CMS를 구현하거나 통합해야합니다. 질문이 있습니다. 과수원 모듈에서 동일한 MVC 영역을 어떻게 사용할 수 있습니까? 어떻게 할 수 있습니까? 해당 영역에 대한 라우팅이 어떻게 될 수 있습니까?오차드 CMS 모듈에서 영역을 추가하는 방법

이 문제에 대한 어떤 제안도 주시면 감사하겠습니다.

감사

답변

1

오차드 모듈은 MVC 영역으로 구현됩니다, 그래서 당신은 별도의 오차드 모듈로 각 영역을 마이그레이션해야합니다 같아요.

IRouteProvider 인터페이스를 구현하여 각 모듈에 대한 사용자 지정 라우팅을 정의 할 수 있습니다. 예를 들어 다음 코드는 컨트롤러 MyController에있는 MyAction 작업을 URL Foo/Bar에 매핑합니다. 물론 MyModule을 Orchard 모듈의 이름으로 대체해야합니다.

public class Routes : IRouteProvider 
{ 
    public void GetRoutes(ICollection<RouteDescriptor> routes) 
    { 
     foreach (var routeDescriptor in this.GetRoutes()) 
     { 
      routes.Add(routeDescriptor); 
     } 
    } 

    public IEnumerable<RouteDescriptor> GetRoutes() 
    { 
     return new[] 
        { 
         new RouteDescriptor 
         { 
          Priority = 20, 
          Route = 
           new Route(
           "Foo/Bar", 
           new RouteValueDictionary 
           { 
            { "area", "MyModule" }, 
            { "controller", "MyController" }, 
            { "action", "MyAction" } 
           }, 
           new RouteValueDictionary(), 
           new RouteValueDictionary { { "area", "MyModule" } }, 
           new MvcRouteHandler()) 
         }, 
         // Other routes... 
        }; 
    } 
} 
관련 문제