1

問題

すべてのカスタム アクションは、ログイン ページにリダイレクトされます。

私のコード

カスタムコントローラーをから拡張しましたdektrium\user\controllers\RegistrationController

じぶんのweb.php

 'urlManager'   => [
            'enablePrettyUrl' => true,
            'showScriptName'  => false,
            'rules'           => [

            ],
        ],

...

'modules'    => [
        'user' => [
            'class'         => 'dektrium\user\Module',
            'controllerMap' => [
                'registration' => 'app\controllers\user\RegistrationController'
            ],
        ],
    ],

カスタムコントローラー

namespace app\controllers\user;

use dektrium\user\controllers\RegistrationController as BaseAdminController;

class RegistrationController extends BaseAdminController
{
    public function actionPlan()
    {
        echo 'Test';
    }
}

オーバーライドされたメソッドはうまく機能しますが、各カスタム アクション ( site.com/user/registration/plan) はログイン ページにリダイレクトされます。

4

2 に答える 2

0

別の実装

class SiteController extends Controller
{
  /**
   * @inheritdoc
   */
   public function behaviors()
   {
    $behaviors = [
        'access' => [
            'rules' => [
                [
                    'actions' => ['login', 'plan', 'error'],
                    'allow'   => true,
                ],
            ],
        ],
    ];

    return ArrayHelper::merge($behaviors, parent::behaviors());
    }
}
于 2016-10-16T16:14:28.143 に答える