Hola , soy un novato en Zend Framework y he estado desarrollando una aplicación para poder familiarizarme más con ella.
La Aplicación tiene tratamiento de Autenticación y Sesión más una Gestión de Usuarios para el admin (Módulo de Usuario).
La Aplicación también tiene un módulo para "Módulos" con las acciones "administrar", "agregar", "ver", "editar" y "eliminar".
Mi vista de índice muestra todos los módulos ordenados por id, pero dado que la lista de módulos contiene más de 30 módulos, sería mejor que la página tuviera un filtrado por categoría de módulo.
Mi lógica era crear una función de acción para filtrar en ModuleController (donde están todas las demás acciones), declararla en mi "module.config.php" debajo de la matriz "acess_filter":
'access_filter' => [ 'options' => [ 'mode' => 'restrictive' ], 'controllers' => [ Controller\IndexController::class => [ // Allow anyone to visit "index" and "about" actions ['actions' => ['index', 'about'], 'allow' => '*'], // Allow authorized users to visit "settings" action ['actions' => ['settings'], 'allow' => '@'] ], Controller\ModuloController::class => [ ['actions' => ['admin'], 'allow' => '*'], ['actions' => ['admin', 'view', 'view_comu','add','edit','delete'], 'allow' => '@'] ], ] ], Cuando traté de acceder a la acción del módulo, aparece este mensaje de error:
"El controlador solicitado no pudo enviar la solicitud.
Controlador: Aplicación\Controlador\ModuloController "
¿Me he perdido algo?
Probablemente le falte otra clave de controllers en algún lugar de su configuración (la clave de controllers raíz que contiene la configuración para el contenedor de controlador).
Debe tener un aspecto como este:
return [ 'controllers' => [ 'factories' => [ Controller\IndexController::class => Controller\IndexControllerFactory::class, Controller\ModuloController::class => Controller\ModuloControllerFactory::class, ], ], ];Este error también puede aparecer si escribe la ruta en la barra de direcciones como /path/to/controller y no especifica la acción predeterminada cuando configura may_terminate = true . Agregar action a la ruta, como /path/to/controller/action , resuelve el problema.