我想在Concrete5最新版本中重写核心登录控制器,而无需编辑核心文件。因为我想在登录控制器的do_login方法中添加额外的功能。我试过了。但这行不通。我已经复制了具体/core/controllers/singlepages/login.php到controllers/login.php中,我在controllers/login.php中添加了一行如下
defined('C5_EXECUTE') or die("Access Denied.");
Loader::library('authentication/open_id');
class LoginController extends Concrete5_Controller_Login {
}
class Concrete5_Controller_Login extends Controller {
....
.....
}
你应该只重写Concrete5_Controller_Login,而不是Controller的基类。
defined('C5_EXECUTE') or die("Access Denied.");
Loader::library('authentication/open_id');
class LoginController extends Concrete5_Controller_Login {
....
.....
}
因此,将您的功能代码从第二个类移到第一个类中,然后从文件中删除第二个类声明。