Routes 在SilverStripe 3.x中的页面名称之前添加参数
我在网上搜索了几个小时,但没有找到任何能回答我问题的东西 如果我的站点树中有以下页面:Routes 在SilverStripe 3.x中的页面名称之前添加参数,routes,silverstripe,Routes,Silverstripe,我在网上搜索了几个小时,但没有找到任何能回答我问题的东西 如果我的站点树中有以下页面: 家 第1页 第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
- 家
- 第1页
- 第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
其中,client1、client2等是一个变量值,将用于识别客户进行品牌推广等。您可以使用其中一个模块
或者创建一个类似“ClientLanding”的页面类型,您可以在其中选择一个主题,进行特定于客户端的设置,例如。您可以使用其中一个模块
或者创建一个类似“ClientLanding”的页面类型,在这里你可以选择一个主题,进行特定于客户端的设置,例如。如果其他人对此感到困惑,在谷歌搜索了很多次之后,我终于找到了答案 我需要将它添加到我的config.yml中
---
Name: modelascontrollerroutes
After: cms/routes#modelascontrollerroutes
---
Director:
rules:
'': 'RootURLController'
'$Client': 'RootURLController'
'$Client/$URLSegment//$Action/$ID/$OtherID': 'ModelAsController'
万一有人在这方面苦苦挣扎,在谷歌搜索了很多之后,我终于找到了答案 我需要将它添加到我的config.yml中
---
Name: modelascontrollerroutes
After: cms/routes#modelascontrollerroutes
---
Director:
rules:
'': 'RootURLController'
'$Client': 'RootURLController'
'$Client/$URLSegment//$Action/$ID/$OtherID': 'ModelAsController'
将客户端作为路由的
$URLSEMENT
部分可能是可行的,但它将禁用在其旁边放置任何“常规”页面的可能性…例如www.mysite.com/contact
将无法工作。切换URL结构也可以吗?例如www.mysite.com/page1/client1
?网站上的所有内容都是特定于客户端的,因此永远不会出现URL中没有客户端的情况。我已经在Silverstripe中查看了路由,但我似乎没有弄清楚。将客户端作为路由的$URLSEMENT
部分可能是可行的,但它将禁用在其旁边有任何“常规”页面的可能性…例如www.mysite.com/contact
,这样就行不通了。切换URL结构也可以吗?例如www.mysite.com/page1/client1
?网站上的所有内容都是特定于客户端的,因此永远不会出现URL中没有客户端的情况。我已经看过Silverstripe中的路由,但我似乎无法理解。