Zend framework module, controller, action specific routes -


in zend framework application, have routes , defaults like:

resources.router.routes.plain.defaults.module = "index" resources.router.routes.plain.defaults.controller = "index" resources.router.routes.plain.defaults.action = "index" 

i want able change default routes module or controller or action e.g.

let's assume module/controller/action structure:

content --- article --- read                     --- write         --- news    --- list                     --- write user    --- auth    --- signin                     --- signout         --- access  --- check                     --- update 

in architecture,

for module=content want controller=article default controller , action=read default action.
if controller=news chosen action=list becomes default action

for module= user want controller=auth default controller , action=signin default action. if controller=access chosen action=check becomes default action.

so possible in application.ini? , how example?

thanks in advance.

random thoughts:


you define route each module points specific actions defaults.

resources.router.routes.user.route = "user/:controller/:action/*" resources.router.routes.user.defaults.module = "user" resources.router.routes.user.defaults.controller = "auth" resources.router.routes.user.defaults.action = "signin" 

you define module_indexcontroller::predispatch() or user_accesscontroller::indexaction() uses _forward send request proper "default":

// delaing redirect in predispatch // affect requests controller class user_indexcontroller extends zend_controller_action {   public function predispatch() {     // send default location user module:     $this->_forward('signin', 'auth')   } }  // dealing redirect in indexaction: // affect requests go "index" action class user_accesscontroller extends zend_controller_action {   public function indexaction() {     // send default location user module:     $this->_forward('check')   } } 

from zend framework documentation - controller utility methods

_forward($action, $controller = null, $module = null, array $params = null): perform action. if called in predispatch(), requested action skipped in favor of new one. otherwise, after current action processed, action requested in _forward() executed.


Comments

Popular posts from this blog

ASP.NET/SQL find the element ID and update database -

jquery - appear modal windows bottom -

c++ - Compiling static TagLib 1.6.3 libraries for Windows -