Как мне изменить маршрутизацию в ini-файле Zend Framework, чтобы он указывал на другой контроллер? - PullRequest
0 голосов
/ 09 сентября 2011

Скажите, если я хочу сменить роутер.Если я наберу example.com/controller1/action1, я хочу, чтобы он зашел на example.com/controller2/action2. Как мне установить это в INI-файле?

Ответы [ 2 ]

2 голосов
/ 09 сентября 2011

Если вы просто хотите получить доступ к action2 controller2 из url controller1 / action1, то вам нужно сделать следующее:

Сначала создайте файл INI со следующим содержимым (/configs/routes.ini):

[production]
routes.controller1_action1.route = "controller1/action1"
routes.controller1_action1.defaults.controller = "controller2"
routes.controller1_action1.defaults.action = "action2"

Затем добавьте следующий фрагмент кода в ваш загрузчик:

protected function _initRewrite() {
  $front = Zend_Controller_Front::getInstance();
  $router = $front->getRouter();
  $config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/routes.ini', 'production');
  $router->addConfig($config,'routes');
}
0 голосов
/ 09 сентября 2011

В продолжение поста wimvds - если применимо, возможно, вам также нужно указать модуль? Кроме того, я не уверен, будет ли это иметь значение, но я также добавляю к моим маршрутам 'resources.router'.

Итак, полный набор может быть: -

resources.router.routes.controller1_action1.route = "controller1/action1"
resources.router.routes.controller1_action1.defaults.controller = "controller2"
resources.router.routes.controller1_action1.defaults.action = "action2"
resources.router.routes.controller1_action1.defaults.module = "module2"

Надеюсь, это поможет.

...