Я хочу, чтобы URL example.com/invoice/id/5
Создать действие
function indexAction(){
echo "test";
}
Теперь я пытаюсь получить доступ к этому действию от URL
example.com/invoice/
или же example.com/invoice/index
А также передать параметры
example.com/invoice/id/5
Здесь я получаю ошибку, потому что Zend пытается сделать
id.phtml
Мой вопрос, как получить URL example.com/invoice/id/5
и не использовать example.com/invoice/index/id/5
По умолчанию Zend Route выглядит следующим образом:
http://www.example.com/controller/action/param_name/param_value/param_name_1/param_name_1_value
Для пользовательского URL вы должны определить маршруты в Bootstrap.php начиная с Zf1.
$ frontController = Zend_Controller_Front :: getInstance ();
$ router = $ frontController-> getRouter ();
$router->addRoute(
'someidentifier',
new Zend_Controller_Router_Route(
'/invoice/:id',
array(
'controller'=>'invoice',
'action'=>'index'
)
)
);
Если это ZF2, я думаю, что вы должны определить собственный маршрут в Module.php, функцию onBootstrap и присоединить к eventManager.
Других решений пока нет …