MY LoginControllerクラスはUserControllerから拡張されています。私はUserControllerの1つのメソッドをオーバーライドしたい。すべてうまくいきますが、$ this-> render( 'index')は子クラスのビューを呼び出します。私は親クラスのビューを呼びたいと思う。私はparent :: render( 'index')を使ってみましたが、tahtはうまく動作しません。ここに私のコードですレンダリング子クラスの親クラスビュー
<?php
namespace frontend\controllers;
use Yii;
use mdm\admin\models\form\Login;
use mdm\admin\models\form\PasswordResetRequest;
use mdm\admin\models\form\ResetPassword;
use mdm\admin\models\form\Signup;
use mdm\admin\models\form\ChangePassword;
use mdm\admin\models\User;
use mdm\admin\models\searchs\User as UserSearch;
use yii\web\Controller;
use yii\filters\VerbFilter;
use yii\filters\AccessControl;
use yii\web\NotFoundHttpException;
use yii\base\UserException;
use yii\mail\BaseMailer;
use mdm\admin\controllers\UserController;
class LoginController extends UserController
{
public function actionLogin()
{
//parent::actionLogin();
if (!Yii::$app->getUser()->isGuest) {
return $this->goHome();
}
$model = new Login();
if ($model->load(Yii::$app->getRequest()->post()) && $model->login()) {
return $this->goBack();
} else {
return parent::render('login', [
'model' => $model,
]);
}
}
}
ですが、私の意見では、それは子クラスでそれを見ているのではなく、親クラスビューを呼び出すべきであるということです。私はここで何が欠けていますか?
ベンダフォルダにある親クラスのビューファイルではなく、フロントエンド/ビューでファイルを探しています – james
正解、正解です。 – Bizley
フロントエンドではなくベンダーのフォルダにあります。そして、完全なパスを与えたり、フロントエンドのビューファイルを複製することは間違いなく機能します。しかし、私が欲しいのは、現在のクラスのコンテキストでレンダリングを呼び出す$のようなもので、私は親クラスのコンテキストでレンダリングを呼び出したい。出来ますか? – james