ZF 1.9.6. Попытка изменить модуль на основе пользовательского агента запроса. Когда я пытаюсь получить объект запроса с Front, я получаю NULL.
В настоящее время я пытаюсь установить имя модуля из метода Bootstrap _initModule, который я создал.
$front = Zend_Controller_Front::getInstance(); $request = $front->getRequest(); // This is NULL $request = new Zend_Controller_Request_Http(); $request->setModuleName('iphone'); $front->setRequest($request);
Однако, когда он выполняется, он все равно переходит в модуль по умолчанию.
Я не думаю, что Bootstrap – это подходящее место, потому что это происходит до начала любой маршрутизации запроса.
Я бы предложил использовать плагин переднего контроллера preDispatch для этого:
class Your_Application_Plugin_ModuleSelector extends Zend_Controller_Plugin_Abstract { public function preDispatch(Zend_Controller_Request_Abstract $request) { ... $request->setModuleName('iphone'); } ... }
С:
resources.frontController.plugins.moduleselector = "Your_Application_Plugin_ModuleSelector"
в вас application.ini