0

我找到了这个插件代码:

<!--?php
if ($modx--->event->name == 'OnManagerLogin') {
    $path = $modx->getOption('base_url',null,MODX_BASE_URL);
    $modx->sendRedirect($path.'manager/?a=69');
}

但我无法让它与 MODX Revolution 2.5.0-pl 一起使用。似乎 OnManagerLogin 根本不起作用。我是唯一一个?与此有关吗?

https://github.com/modxcms/revolution/issues/11848

我也试过这个:

$e = $modx->event;
switch( $e->name ) {
case 'OnManagerLogin':
$modx->sendRedirect('http://modx.com',array('responseCode' => 'HTTP/1.1 301 Moved Permanently'));
}

但它没有用。任何人都可以帮忙吗?

4

1 回答 1

0

解决方案在这里 使用此代码:

$url = 'http://www.example.com/manager/';

$groups = array(
    'admin_ceremonie' => 'http://www.example.com/manager/?a=resource/update&id=1138',
);

$userId = $user->get('id');
$searchCriteria = array(
    'user' => $userId,
    'key' => 'LoginResourceUrl',
);
$userSetting = $modx->getObject('modUserSetting', $searchCriteria);

if ($userSetting) {
    $url = $userSetting->get('value');
} 
else {
    foreach($groups as $groupName => $pageUrl) {
        if ($user->isMember($groupName)) {
             $url = $pageUrl;
            break;
        }
    }
}

$modx->sendRedirect($url);
于 2017-03-20T17:35:38.233 回答