J'ai étendu la classe de contrôleur "dektrium/yii2-user" comme ci-dessous, maintenant je veux avoir $authItems
dans le fichier de vue rendu de la classe parent, comment dois-je passer cette variable?Passer le paramètre pour voir l'action de la classe étendue
namespace app\controllers;
use app\models\AuthItem;
use dektrium\user\controllers\RegistrationController as BaseRegistrationController;
class RegistrationController extends BaseRegistrationController
{
public function actionRegister()
{
$authItems = AuthItem::find()->all();
return parent::actionRegister();
}
}
sa principale méthode est de classe
public function actionRegister()
{
if (!$this->module->enableRegistration) {
throw new NotFoundHttpException();
}
/** @var RegistrationForm $model */
$model = \Yii::createObject(RegistrationForm::className());
$event = $this->getFormEvent($model);
$this->trigger(self::EVENT_BEFORE_REGISTER, $event);
$this->performAjaxValidation($model);
if ($model->load(\Yii::$app->request->post()) && $model->register()) {
$this->trigger(self::EVENT_AFTER_REGISTER, $event);
return $this->render('/message', [
'title' => \Yii::t('user', 'Your account has been created'),
'module' => $this->module,
]);
}
return $this->render('register', [
'model' => $model,
'module' => $this->module,
]);
}
quel chemin doit être vu dans la méthode de rendu? ce point de vue dévers recogonize i changé ' retour $ this-> render ('utilisateur/enregistrement/inscription', [ 'modèle' => $ model, 'module' => Module $ this->, ' authItems '=> $ authItems, ]); ' mais ne fonctionne pas – moh
où est votre vue de registre? .. où vous avez placé votre vue de registre? dans quel répertoire? – scaisEdge
@scaisEdhe il est dans les vues/utilisateur/enregistrement/répertoire + vue est overrided dans le fichier de configuration web.php comme ' 'view' => [ 'thème' => [ 'pathMap' => [ ' @ dektrium/user/views '=>' @ app/views/user ' ], ], '],' – moh