2016-09-01 53 views
0

剛剛使用Umbraco。我需要在結尾創建一個帶有可選參數的Url,例如在Umbraco 7中使用可選參數網址

mysite.com/people/john 
mysite.com/people/jane 
etc 

但是默認情況下,Umbraco似乎需要爲每個人分別設置一個頁面。在Umbraco中是否有一個構建的方法可以讓我將Url的最後部分定義爲可選參數,還是必須爲它編寫自定義路由?

謝謝

+1

你可能已經知道這一點,但默認情況下一把umbraco將在路徑的終點捕捉一個可選的參數和應用具有別名當前模板頁。例如,如果您有一個名爲'template-123'的模板,則網址mysite.com/people/template-123將使用該模板呈現您的「人物」內容。對我來說,這是Umbraco中更有用的開發功能之一,但如果你不認爲你會使用它,那麼IIS URL重寫可能是一條可行的路。 – trnelson

回答

2

您在這裏有幾個選項。

  1. 使用IIS URL重寫改寫引擎蓋下你的URL和重寫/people/john/people/?person=john說。然後,您可以從頁面上的查詢字符串中選取人員。

  2. 編寫一個自定義URL查找器,它查找URL並執行一些操作,比如獲取人員頁面,然後設置人員名稱的上下文項目以供您在視圖中使用等。

  3. 您可以爲其編寫自定義路線。 Umbraco中的自定義路由與正常MVC稍有不同。這裏是一個博客帖子詳細介紹瞭如何做到這一點:http://shazwazza.com/post/custom-mvc-routes-within-the-umbraco-pipeline/