2013-03-20 27 views
0

我想在Concrete5最新版本中重写核心登录控制器而不编辑核心文件。因为我想在登录控制器的do_login方法中添加额外的功能。我努力了。但它不起作用。 我抄 混凝土/核心/控制器/ singlepages/login.php中到控制器/ login.php中,我已经添加了控制器的线/ login.php中如下在Concrete5.6.2中重写核心登录控制器

defined('C5_EXECUTE') or die("Access Denied."); 
Loader::library('authentication/open_id'); 
class LoginController extends Concrete5_Controller_Login { 
} 

class Concrete5_Controller_Login extends Controller { 
.... 
..... 
} 
+0

你实际上没有说明你的问题是什么? – Ivo 2013-03-20 12:43:53

+0

检查你的覆盖是否通过在开始处加入'die();'来加载。如果没有,请检查您是否已停用覆盖chache。 – johjoh 2013-03-20 14:42:07

+0

您示例中的第二个类减少没有意义。 – johjoh 2013-03-20 14:58:48

回答

0

你只应重写Concrete5_Controller_Login ,而不是基本的Controller类。

defined('C5_EXECUTE') or die("Access Denied."); 
Loader::library('authentication/open_id'); 
class LoginController extends Concrete5_Controller_Login { 
.... 
..... 
} 

因此,将您的函数代码从第二类移动到第一类,然后从文件中移除第二类声明。