2016-12-14 7 views
1

Я искал в Интернете несколько часов, но не могу найти ничего, что отвечает на мой запрос.Добавление параметра до имени страницы в SilverStripe 3.x

Если у меня есть страницы в моем сайте дерева:

  • Главная
    • Page 1
    • Page 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 и т.д. является переменным значением, которое Виль л используется для идентификации клиента для брендинга и т.д.

+0

Имея клиент как '$ URLSegment' части маршрута, вероятно, возможно, но это отключит возможность иметь любую«обычную»страницу рядом с ним ... например. 'www.mysite.com/contact' тогда не будет работать. Будет ли он также работать для переключения структуры URL? Например. 'Www.mysite.com/стр.1/client1'? – bummzack

+0

Весь контент на сайте будет специфичным для клиента, поэтому никогда не будет ситуации, когда в URL-адреса не будет клиента. Я посмотрел Маршрутизацию в Silverstripe, но я не могу понять это. – PhillBex

ответ

2

Если кто-то еще борется с этим, после долгих поисковых запросов, я, наконец, понял это.

мне нужно, чтобы добавить это к моему config.yml

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

Вы можете либо использовать один из этих модулей

или создать что-то вроде «ClientLanding» типа страницы, где вы можете выбрать тему, настроить клиентские настройки, например.