У меня есть проект, который использует каталог модулей на основе пользовательских маршрутов, а не маршрутов по умолчанию. Система загружает файлы каждый модуль rout.ini и добавляет эти маршруты в маршрутизатор Zend_Controller_Router_Rewrite.
protected function _initRoutes() {
$this->bootstrap('FrontController');
$front = $this->getResource('FrontController');
$routes = Module_Loader::getInstance()->getRoutes();
$front->setRouter($routes);
$front->getRouter()->removeDefaultRoutes();
}
То, чего я пытаюсь достичь, это добавить код языка в URI, но связывание с Router_Rewrite невозможно.
У меня есть маршрут:
[routes]
;Index page
routes.core_index_index.type = "Zend_Controller_Router_Route_Static"
routes.core_index_index.route = "/"
routes.core_index_index.defaults.module = "core"
routes.core_index_index.defaults.controller = "index"
routes.core_index_index.defaults.action = "index"
routes.core_index_index.defaults.frontend = "true"
routes.core_index_index.defaults.langKey = "route_index_page_description"
routes.core_index_index.defaults.localization.enable = "true"
По сути, я хочу, чтобы URL выглядел следующим образом: http://myhost.com/en/ или http://myhost.com/, которые оба должны указывать на это действие индекса контроллера домашней страницы в основном модуле.
Я могу добавить это к указанному выше правилу маршрутизации как "/ ([en /] *)", но я не хочу, чтобы модуль заботился о работе с такими системными функциями.
Возможно ли это?
Спасибо.