使用站點地圖,可以設置某些路徑以處理前綴匹配,並允許爲子路徑提供請求。我想指定給定路徑下的所有請求都轉到某個模板。所以我想:定義要在站點地圖中使用的模板
Menu(Loc("show_theme", Link("show" :: "theme" :: Nil, true, "/show/theme"), "Show Theme"))
地搭上/表演/主題/ *(它一定支持)所有要求,但在使用/顯示/主題模板(它不)
爲他們服務我想要(例如)/ show/theme/1在/ show/theme中使用該模板,並使用該模板中的代碼片段將該ID從Req中取出。
這可能嗎?還是我以錯誤的方式做事?目前,我正在使用/ show_theme?theme = 1,但是這有點難看,並且使得難以使用表格
編輯:我試圖擺脫使用CGI params來編碼ID,並且將它們作爲路徑結構的一部分
好的,這很有幫助,但它並不完全符合我的要求 - 我試圖澄清這個問題。我不確定Loc總是代表一個頁面/模板,但是 - 使用前綴匹配,它可以是任意數量的頁面/模板。我想用單個模板將其轉換爲任意數量的頁面,但要避免CGI params。 – 2012-01-12 18:50:15
我提供的示例代碼並不要求URL實際包含任何查詢參數,它將括號中的/ show/theme/{主題}部分重寫,以使其看起來像查詢參數一樣,就您的片段而言。 – 2012-01-12 20:34:12
Ooops,我的誤解 - 我(愚蠢地)認爲它會導致重定向,但當然不是這種情況。我必須在第一個列表的末尾添加一個Nil(「show」::「theme」:: theme :: Nil),但它完美地工作,謝謝! – 2012-01-12 21:14:14