Как добавить префикс ко всем моим маршрутам - PullRequest
1 голос
/ 27 июля 2011

В настоящее время я работаю над сайтом, созданным с помощью symfony 1.4, и мне нужно реализовать префикс маршрута для всех маршрутов. Этот префикс используется для указания двух разных «представлений» для сайта, например:

www.domain.com/b2b : B2B oriented view
www.domain.com/b2c : B2C oriented view

Оба эти URL отображают одни и те же модули / действия, но с небольшими конкретными различиями (тексты, изображения, ...). Таким образом, www.domain.com/b2b/module1/action1 и www.domain.com/b2c/module1/action1 должны выполнить то же действие / представление, но префикс должен быть перехвачен в действии или шаблоне.

Есть ли способ реализовать это без необходимости жесткого кодирования префикса в каждом вызове urlFor / routeFor?

Ответы [ 2 ]

0 голосов
/ 27 июля 2011

Я нашел отличную страницу ресурсов для ваших нужд:
http://particul.es/blog/index.php?post/How-to-change-backend.php-to-admin-prefix-routes-automatically-symfony
Со многими решениями для достижения ваших целей. Но лично я думаю, что самый разумный способ для вас - это справиться с этим в .htaccess.

0 голосов
/ 27 июля 2011

Вы можете создать свои собственные классы маршрутизации, которые добавляют «представление» (b2b / b2c) к маршруту и ​​анализируют его при необходимости.

Создайте пользовательский класс, который наследуется от sfRoute. В вашем routing.yml добавьте class: myRouteClassName к маршрутам.

...