2012-04-07 35 views
1

我正在嘗試使用Umbraco重新創建網站。對於這個網站,我有新聞項目這是我在一個節點正在存儲的根目錄以外:Umbraco - 在網站節點之外放置內容?

  • 內容
    • 網站首頁
      • 新聞
    • Newsmessages
      • 留言1(創建於10-10-2011)
      • 消息2(創建15-01-2012)

我想用URL參數來篩選newsitems列表顯示顯示實際的新聞項目。

  1. 展會新聞欄目

www.website.com/news

  1. 展會新聞列表爲:

www.website.com/news/

  1. 顯示新聞列表 2011年10月

www.website.com/news/2011/10

  1. 節目消息細節消息1

www.website.com/news/2011/10/10/ 消息-1

可以做到這一點,而無需創建下面的所有內容項目/內容/網站家/新聞

回答

3

可以在一把umbraco 5木星添加新區域,並添加Arearegisteration.cs定製的路線,有一個包通過Sebastiaan揚森木星的Visual Studio插件

http://our.umbraco.org/projects/developer-tools/jupiter-as-visual-studio-solution

使用此轉換您的Web應用程序到MVC應用程序,並右鍵單擊區域文件夾並添加一個新的區域,VS將負責其餘部分。 然後在AreaRegisteration.cs 添加控制器和自定義路線例如

context.MapRoute(
"ROUTE", 
"/{action}/{year}", 
new { controller = "ControllerName" } 
); 

如果鏈接www.website.com/news/2011,動作必須命名爲新聞和揭掉將查詢字符串傳遞,你可以根據您的需要隨網址一起播放。

希望幫助,

謝爾

+0

不錯,謝謝你的清理 – Ropstah 2012-04-10 07:08:54

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 

..等等。

'news'頁面上的宏會從查詢字符串中讀取請求並寫出過濾結果。

+0

我使用一把umbraco 5.它或許會可以定義其產生預期的效果自定義路線?或者,我是否會繞過Umbraco太多? – Ropstah 2012-04-08 13:04:02

+1

啊,我的回答是特定於Umbraco 4,對不起。 Sher的回答看起來很理想。 – 2012-04-09 13:09:19

+0

對不起,+1的答案! – Ropstah 2012-04-10 07:08:27

相關問題