我想扩展UserController
一个setEventManager
实现,以显示另一个布局 - 只需使用登录掩码。
当我调用 url 时www.example.com
,我得到了我的控制器,以及其他布局。但是,如果输入错误的用户名,我会重定向to www.exmpale.com/user/login
并获得默认布局。
我如何覆盖所有路由ZfcUser Module
并将它们重定向到我自己的控制器,以确保UserController
不能直接调用。
谢谢你。
我想扩展UserController
一个setEventManager
实现,以显示另一个布局 - 只需使用登录掩码。
当我调用 url 时www.example.com
,我得到了我的控制器,以及其他布局。但是,如果输入错误的用户名,我会重定向to www.exmpale.com/user/login
并获得默认布局。
我如何覆盖所有路由ZfcUser Module
并将它们重定向到我自己的控制器,以确保UserController
不能直接调用。
谢谢你。
如果我正确理解您的问题,您可能只需要编辑文件module.config.php
。它包含所有路由定义。
根据我对您的问题的理解,您有一个自己的控制器,称为MyBetterUserController
?
您可以添加一个自己的模块作为模块的扩展ZfcUser
,也许您想将其命名为ZfcUserMod
. 这个新模块将只包含一个Module.php
文件和一个包含config
配置文件的文件夹。
然后你可以在这个模块的配置文件中定义你的路由并覆盖所有来自ZfcUser
. 确保您使用完全相同的路由名称(数组中的键)ZfcUser
(目前他们使用zfcuser作为路由名称)。否则路由不会被覆盖,UrlHelper 也不会使用你的路由。
然后添加ZfcUserMod
到全局application.config.php
后 ZfcUser
。
controllers -> invocables pointing 'zfcuser' => 'namespace\your\extendedusercontroller'
只重写而不是重写所有路由不是更容易吗?