我正在尝试使用Umbraco重新创建一个网站。对于这个网站,我有新闻项目,我将其存储在webroot之外的节点中:
我想使用网址参数来过滤新网站列表,以显示或以显示实际新闻项目。
www.website.com/news
www.website.com/news/的 2011
www.website.com/news/的 2011/10
www.website.com/news/2011/10/10/的消息-1
可以在不创建以下内容/内容/网站主页/新闻的所有内容项的情况下完成吗?
答案 0 :(得分:3)
你可以在Umbraco 5 jupiter中添加新区域并在Arearegisteration.cs中添加自定义路径,Sebastiaan Janssen Jupiter有一个包作为visual Studio插件
http://our.umbraco.org/projects/developer-tools/jupiter-as-visual-studio-solution
使用此选项将您的Web应用程序转换为MVC应用程序并右键单击区域文件夹并添加一个新区域,VS将负责其余部分。 然后在AreaRegisteration.cs中添加Controller和Custom Routes 例如
context.MapRoute(
"ROUTE",
"/{action}/{year}",
new { controller = "ControllerName" }
);
如果Url是www.website.com/news/2011,则该操作必须命名为news,并且您将在查询字符串中传递,您可以使用该URL播放。
希望能帮助,
舍尔
答案 1 :(得分:2)
Umbraco无法开箱即用。然而,可以通过使用URL重写来实现这一点。您可以将参数重写为查询字符串,该字符串可以由宏读取,然后宏显示所需的新闻项。
所以,
www.website.com/news/2011
...将被重写为:
www.website.com/news?year=2011
...和
www.website.com/news/2011/10
...将被重写为:
www.website.com/news?year=2011,month=10
..等等。
'新闻'上的宏观页面将读取查询字符串中的请求并写出过滤后的结果。