将Sitecore路由映射到项目/控制器

将Sitecore路由映射到项目/控制器,sitecore,sitecore7,sitecore-mvc,sitecore7.1,Sitecore,Sitecore7,Sitecore Mvc,Sitecore7.1,我有一个Sitecore 7.1网站,我正试图找出实现博客标签搜索的最佳方法是什么 理想情况下,我希望有这样一个URL:/tags/tag位于此处 我的内容树中应该有一个项目sitecore/content/home/tags,以便我可以使用sitecore编辑内容等。我希望像上面这样的所有路由都映射到该项,并且能够以某种方式将tag goes here参数输入到我的控制器/渲染中 我尝试过使用路线,但我不确定这是否是正确的方法。它映射到一个简单的控制器,但我可能走错了方向。我为此添加了以下路线

我有一个Sitecore 7.1网站,我正试图找出实现博客标签搜索的最佳方法是什么

理想情况下,我希望有这样一个URL:/tags/tag位于此处

我的内容树中应该有一个项目sitecore/content/home/tags,以便我可以使用sitecore编辑内容等。我希望像上面这样的所有路由都映射到该项,并且能够以某种方式将tag goes here参数输入到我的控制器/渲染中

我尝试过使用路线,但我不确定这是否是正确的方法。它映射到一个简单的控制器,但我可能走错了方向。我为此添加了以下路线:

routes.MapRoute(
            "Tags",
            "tags/{tag}",
          new
          {
              controller = "Tag", 
              action = "Index", 
              tag = UrlParameter.Optional, 
          });
它可以工作,但不能完全满足我的要求。它只是在浏览器中渲染我的视图,但我不能使用Sitecore向其中添加任何渲染或内容,因为Sitecore中没有匹配的项。在Sitecore MVC中实现这一点的最佳方法是什么


谢谢。

通过按原样指定路线并指定控制器,您实际上绕过了Sitecore。见本手册第4.1节

您可以使用文档第1.2.6节中的通配符项来处理标记,这将允许您像处理任何其他Sitecore项一样处理该项,并添加布局/呈现/规则等

您可以在这里找到一些相关示例:,这是一个Sitecore 6.6示例,但概念仍然相同


您还可以查看,但我不确定它是否能与MVC一起使用,因为有一些特定于WebForms的代码,但修改起来应该很容易。

通过按原样指定路由并指定控制器,您实际上绕过了Sitecore。见本手册第4.1节

您可以使用文档第1.2.6节中的通配符项来处理标记,这将允许您像处理任何其他Sitecore项一样处理该项,并添加布局/呈现/规则等

您可以在这里找到一些相关示例:,这是一个Sitecore 6.6示例,但概念仍然相同


您也可以查看,但我不确定它是否适用于MVC,因为有一些特定于WebForms的代码,但它应该很容易修改。

通配符模块将适用于MVC,但需要在7.1中移动一些项,如规则/条件等。。。已经全部移动,现在通过标签关联。很高兴知道。我对MVC唯一关心的是WildcardRendering类,因为它检查控件是否为子布局,但我没有使用该模块。源代码很容易修改。是的,WildcardRendering类只是一个调试的东西,它很容易传输。主要部分只是使用规则引擎根据路径中的通配符项从url构建令牌列表。很好,很简单通配符模块将在MVC中工作,但需要在7.1中移动一些项,如规则/条件等。。。已经全部移动,现在通过标签关联。很高兴知道。我对MVC唯一关心的是WildcardRendering类,因为它检查控件是否为子布局,但我没有使用该模块。源代码很容易修改。是的,WildcardRendering类只是一个调试的东西,它很容易传输。主要部分只是使用规则引擎根据路径中的通配符项从url构建令牌列表。又好又简单