需要二开微擎框架的小伙伴可以参考下这篇文章。
上级发话,需求:登录后跳转到公众号管理页面。
熟悉微擎的都知道现在微擎登陆后默认跳转到的是系统管理页面http://www.******.cn/web/index.php?c=home&a=welcome&do=system&
由于开发需要,我们需要登陆后跳转到
http://www.******.cn/web/index.php?c=account&a=display&
查看登录页面后大家会发现,登录页面前后台都没有跳转链接。。。
经过仔细认真的查看代码,我发现控制跳转的决定性因素一个函数,改了这个函数才能改动跳转!
//在登录页面控制器的145行 (web/source/use/login.ctrl.php)
if (empty($forward)) {
$forward = user_login_forward($_GPC['forward']);
}
就是这个user_login_forward函数
其实web下的控制器对应的model函数都在framework/model中,如果了解不清的话,还是不太好找的
找了下发现这个函数在 framework/model/user.mod.php
function user_login_forward($forward = '') {
global $_W;
$login_forward = trim($forward);
if (!empty($forward)) {
return $login_forward;
}
if (user_is_vice_founder()) {
return url('account/manage', array('account_type' => 1));
}
if (!empty($_W['isfounder'])) {
//下面这代码即为控制登陆后跳转的代码。改为return url('account/display'); 即完成我所要的功能
return url('home/welcome/system');
}
if ($_W['user']['type'] == ACCOUNT_OPERATE_CLERK) {
return url('module/display');
}
$login_forward = url('account/display');
if (!empty($_W['uniacid']) && !empty($_W['account'])) {
$permission = uni_permission($_W['uid'], $_W['uniacid']);
if (empty($permission)) {
return $login_forward;
}
if ($_W['account']['type'] == ACCOUNT_TYPE_OFFCIAL_NORMAL || $_W['account']['type'] == ACCOUNT_TYPE_OFFCIAL_AUTH) {
$login_forward = url('home/welcome');
} elseif ($_W['account']['type'] == ACCOUNT_TYPE_app_NORMAL) {
$login_forward = url('wxapp/display/home');
}
}
return $login_forward;
}
如果想修改其他web下的页面相对应的model函数,大致修改方法和这个一样的。如果找不到相应的函数,大家可以看下我的其他的关于微擎的文章,加深下对微擎框架的了解。
星狼资源网 » 微擎--登录页跳转修改