お世話になります。
バージョン9.1.3を使用しています。
ログイン後スタートページを管理者と一般ユーザーで分けたいです。
こちらを参考に、/concrete/controllers/single_page/login.phpをオーバーライドし、
public function getRedirectUrl()のreturn値を変更してみましたが変わりません。
<?php
namespace Application\Controller\SinglePage;
use Concrete\Core\User\PostLoginLocation;
use Concrete\Core\User\User;
use Concrete\Controller\SinglePage\Login as ConcreteLogin;
class Login extends ConcreteLogin
{
/**
* @deprecated Use the getPostLoginUrl method of \Concrete\Core\User\PostLoginLocation
* @see \Concrete\Core\User\PostLoginLocation::getPostLoginUrl()
*
* @return string
*/
public function getRedirectUrl()
{
$pll = $this->app->make(PostLoginLocation::class);
$u = $this->app->make(User::class);
//管理者は管理画面、一般ユーザーは「ログイン後スタートページ」で指定したページへ
$url = (int)$u->getLastAuthType() == 1 ? '/index.php/dashboard' : $pll->getPostLoginUrl(true);
return $url;
}
}
return値を直書きしても変わらないため、そもそもオーバーライドがうまくいっていない可能性もあるかと考えております。
・ログイン後スタートページの分け方
・オーバーライドができているかの確認方法
など可能な範囲でご教授いただけますと幸いです。
よろしくお願いいたします。