2016-01-21 37 views
0

有沒有辦法從我的自定義插件中擴展GenericPathRoute.cs的GetRouteData(...)支持的實體,以便我可以爲我的自定義實體添加通用的URL支持?如何擴展NopCommerce的GenericPathRoutecs CMS

//process URL 
      switch (urlRecord.EntityName.ToLowerInvariant()) 
      { 
       case "product": 
        { 
         data.Values["controller"] = "Catalog"; 
         data.Values["action"] = "Product"; 
         data.Values["productid"] = urlRecord.EntityId; 
         data.Values["SeName"] = urlRecord.Slug; 
        } 
        break; 
       ... 
       case "MyCustomEntity": 

回答

1

可以試試這個:

<i> 
public class CmsCustomUrlRecordEntityNameRequested : IConsumer<CustomUrlRecordEntityNameRequested> 
{ 

    void HandleEvent(CustomUrlRecordEntityNameRequested eventMessage) 
    { 
          eventMessage.RouteData.Values["controller"] = "Topic"; 
          eventMessage.RouteData.Values["action"] = "TopicDetails"; 
          eventMessage.RouteData.Values["topicId"] = urlRecord.EntityId; 
          eventMessage.RouteData.Values["SeName"] = urlRecord.Slug; 
    } 

} 

</i> 
+0

您處理此事件:EngineContext.Current.Resolve () .Publish(新CustomUrlRecordEntityNameRequested(數據,urlRecord)); – user2379087