Задать вопрос
myks92
@myks92
Нашёл решение — пометь вопрос ответом!

Как лучше сделать глобальную форму?

Хочу сделать форму в модальном окне. Она будет присутствовать на каждой странице и вызываться по id. Данные отправляются на почту через ActiveForm. Я поместил вот такой код в "layouts/main", то есть в футер страницы, таким образом у меня форма присутствует на каждой странице. Скажите, на сколько это правильное решение? Или есть более правильный метод. Поделитесь...

<?php
$model = new ContactForm();
Modal::begin([
    "size"=>"modal-sm",
    "options"=>[
        "id"=>"leads",
    ],
    'header' => '<h2>Запись на занятие</h2>',
]);?>
<div class="row">
    <div class="col-lg-12">
        <?php $form = ActiveForm::begin(['id' => 'contact-form']); ?>

        <?= $form->field($model, 'name')->textInput(['autofocus' => true]) ?>

        <?= $form->field($model, 'email') ?>

        <?= $form->field($model, 'subject') ?>

        <?= $form->field($model, 'body')->textarea(['rows' => 6]) ?>

        <?= $form->field($model, 'verifyCode')->widget(Captcha::className(), [
            'template' => '<div class="row"><div class="col-lg-3">{image}</div><div class="col-lg-9">{input}</div></div>',
        ]) ?>

        <div class="form-group">
            <?= Html::submitButton( Yii::t('frontend','Submit'), ['class' => 'btn btn-primary', 'name' => 'contact-button']) ?>
        </div>

        <?php ActiveForm::end(); ?>
    </div>
</div>

<?php Modal::end();?>
  • Вопрос задан
  • 131 просмотр
Подписаться 1 Простой 1 комментарий
Ответ пользователя Crash К ответам на вопрос (2)
Bandicoot
@Bandicoot
Вась-программист
В целом верно, можно также сделать виджетом, чтобы не загромождать шаблон
Ответ написан
Комментировать