2016-12-14 75 views
1

我一直在網上搜索幾個小時,但找不到任何回答我的查詢的內容。在SilverStripe 3.x中的頁面名稱前添加參數

如果我在我的網站樹網頁:

  • 首頁
    • 第2頁

然後,我會通過訪問訪問這些頁面:

  • www.mysite.com
  • www.mysite.com/page1
  • www.mysite.com/page2

我如何設置路由,以便我可以訪問網頁如下?

  • www.mysite.com/client1
  • www.mysite.com/client1/page1
  • www.mysite.com/client1/page2
  • www.mysite.com/client2
  • www.mysite.com/client2/page1
  • www.mysite.com/client2/page2

藉助於此客戶端1,客戶端2等是可變值,該值WIL L爲用來識別客戶端的品牌等

+0

讓客戶端作爲路由的'$ URLSegment'部分可能是可能的,但它會禁止有任何「常規」頁面的可能性在它旁邊...例如。 「www.mysite.com/contact」然後不起作用。它也可以切換URL結構嗎?例如。 'www.mysite.com /第1頁/ client1'? – bummzack

+0

本網站上的所有內容都將特定於客戶端,因此永遠不會出現URL中沒有客戶端的情況。我看過銀線紋路,但我似乎無法弄清楚。 – PhillBex

回答

2

因爲經過大量的搜索,我發現其他人都在爲此苦苦掙扎,終於弄明白了。

我需要把它添加到我的config.yml

--- 
Name: modelascontrollerroutes 
After: cms/routes#modelascontrollerroutes 
--- 
Director: 
    rules: 
    '': 'RootURLController' 
    '$Client': 'RootURLController' 
    '$Client/$URLSegment//$Action/$ID/$OtherID': 'ModelAsController' 
3

您既可以使用這些模塊

的一個或創造一些像 「ClientLanding」 網頁類型,您可以在其中選擇主題,進行客戶特定設置,例如。