
| 标签:ECSHOP | 分类:PHP |
今天在对ECSHOP二次开发时,上面要求用户登录时可以用用户名或邮箱登录,查看user.php中,登录调用$user->login($username, $password),在网上查找了下,对象:$user,它就是用来处理用户信息。
这里的$user 是来自includes/init.php中的 $user = & init_users();
而inti_user函数又在lib_common.php中,他里面有一段代码。
include_once(ROOT_PATH . \'includes/modules/integrates/\' . $GLOBALS[\'_CFG\'][\'integrate_code\'] . \'.php\');
$cfg = unserialize($GLOBALS[\'_CFG\'][\'integrate_config\']);
$cls = new $GLOBALS[\'_CFG\'][\'integrate_code\']($cfg);
默认情况下 $GLOBALS[\'_CFG\'][\'integrate_code\'] 的值为: ecshop
这是在 /includes/lib_common.php 文件的 function load_config()函数中定义的:
if (empty($arr[\'integrate_code\']))
{
$arr[\'integrate_code\'] = \'ecshop\'; // 默认的会员整合插件为 ecshop
}
默认情况下,调用的会员整合插件是ecshop。
那么这包含的文件就是:\'includes/modules/integrates/ecshop.php\',
打开ecshop.php这个文件,你会发现它继承了\'includes/modules/integrates/integrate.php\'.
integrate.php里面有很多的方法:login()登陆,edit_user()编辑用户资料,add_user()注册用户。 登录就要修改login()中调用的check_user()方法,搜素发现有:integrate.php,ecshop.php,vbb.php,ucenter.php几个文件中都有check_user()方法,把其中设计到的都改掉就OK了。
后面看了下代码并找了下资料,发现如需要把ecshop跟我们现有的项目整合,比如典型的会员系统是我们自己的,网店是ECshop的。或者,我们需要在ucenter的用户跟ECSHOP的做关联。ECShop已经替我们很好的规划了这部分。