Не выводится форма в модальном окне

Различные вопросы по установке и настройке фреймворка, конфигурции веб-сервера и IDE.
Закрыто
Аватара пользователя
skeef
Сообщения: 67
Зарегистрирован: 2010.10.30, 20:41

Не выводится форма в модальном окне

Сообщение skeef »

Всем привет!
Виджет LoginFormWidget находится в шаблоне layouts\main

Код: Выделить всё

<?= ( Yii::$app->user->isGuest ? LoginFormWidget ::widget( [] ) : '' ); ?>
<?php $this->endBody() ?>
</body>
Сам виджет LoginFormWidget:

Код: Выделить всё

 public function run() {
        if (Yii::$app->user->isGuest) {
            $model = new LoginForm();
            return $this->render('loginFormWidget', [
                'model' => $model,
            ]);
        } else {
            return ;
        }
    } 
его вьюха:

Код: Выделить всё


<?php Modal::begin([
	'header' => '<h4>Авторизация</h4>',
	'id' => 'login-modal',
]);
?>

<?php $form = ActiveForm::begin([
	'id' => 'login-form', 'enableAjaxValidation' => true, 'action' => '/site/ajax-login'
]); ?>
	
	<p>Пожалуйста заполните все поля для авторизации:</p>

<?= $form->field($model, 'username')->textInput(); ?>
<. . .>
<?php ActiveForm::end(); ?>
<?php Modal::end(); ?>
Если я авторизуюсь на главной странице, то все работает.
Если перехожу на любую другую, где шаблон main подключается к шаблону страницы layouts/articles

Код: Выделить всё

<?php $this->beginContent( '@frontend/views/layouts/main.php' ); ?>
то авторизация не проходит.
Просматривая код, заметил, что во втором случае заголовок формы не выводится

Код: Выделить всё

<div class="modal-body">
<input type="hidden" name="_csrf-end" value="uPZT91HEoFfhL3Yil2ofooNBEWU2BLm-9BIIWzy9tpiLtGSHIqnDEYhXAhvTLGbttCZzU1Vc0MuiIm4oBOWF6w==">	
	<p>Пожалуйста заполните все поля для авторизации:</p>
<div class="form-group field-loginform-username required">
<label class="control-label" for="loginform-username">Логин</label>
(а это код на Главной странице)

Код: Выделить всё

<div class="modal-body">
<form id="login-form" action="/site/ajax-login" method="post">
<input type="hidden" name="_csrf-end" value="V6J9LdxeGMN_aYkJZv8x89gNDd84M1OjdfpEfRrWfs1k4EpdrzN7hRYR_TAiuUi872pv6VtrOtYjyiIOIo5Nvg==">	
	<p>Пожалуйста заполните все поля для авторизации:</p>
<div class="form-group field-loginform-username required">
<label class="control-label" for="loginform-username">Логин</label>
Подскажте в чем моя ошибка? Гугел со мной на эту тему разговаривать не хочет :)
Processor not found! Software emulation ...
Аватара пользователя
skeef
Сообщения: 67
Зарегистрирован: 2010.10.30, 20:41

Re: Не выводится форма в модальном окне

Сообщение skeef »

Отвечаю на свой же вопрос может кому пригодится. Как всегда банальная описка.
Перед формой авторизации на странице выводится форма поиска. Ее (по каким-то причинам) надо было сделать не используя ActiveForm.
Открытие формы написал правильно:

Код: Выделить всё

<?= Html::beginForm('/news/search', 
а закрыл неправильно

Код: Выделить всё

<?php Html::endForm(); ?>
Вывод 2: мозилла (даже Developer edition) в консоли дорисовывает теги!
Processor not found! Software emulation ...
Закрыто