Как вывести текст после отправки формы?

Для вывода текста после отправки формы в Yii, вы можете использовать различные подходы, в зависимости от ваших потребностей. Вот несколько наиболее распространенных способов:

1. Использование метода setFlash() и yiibootstrapAlert:
- В контроллере, который обрабатывает вашу форму, вы можете добавить следующий код:

    Yii::$app->session->setFlash('success', 'Текст, который вы хотите вывести после отправки формы');

- В представлении, где вы отображаете результат отправки формы, можете использовать следующий код:

    <?php if (Yii::$app->session->hasFlash('success')): ?>
        <?= yiibootstrapAlert::widget([
            'options' => ['class' => 'alert-success'],
            'body' => Yii::$app->session->getFlash('success'),
        ]) ?>
    <?php endif; ?>

- Этот код добавляет класс alert-success к блоку с сообщением для создания зеленого фона.

2. Использование метода renderPartial() для отображения контента внутри представления:
- В контроллере, который обрабатывает вашу форму, вам необходимо установить свойство layout равным false, чтобы представление не использовало общую обертку:

    public $layout = false;

- Затем, после обработки формы, вы можете добавить следующий код для отображения сообщения:

    return $this->renderPartial('имя_представления', ['message' => 'Ваше сообщение']);

- В представлении имя_представления вы можете отобразить сообщение, используя переданные данные:

    <div class="alert alert-success"><?= $message ?></div>

3. Использование AJAX-запросов и обновление содержимого элемента на странице:
- В вашем представлении, где находится форма, добавьте следующий скрипт для обработки события отправки формы:

    $('#form-id').on('submit', function(event) {
        event.preventDefault(); // Отменить стандартное отправление формы
        $.ajax({
            url: $(this).attr('action'),
            type: 'POST',
            data: $(this).serialize(),
            success: function(response) {
                $('#result').html(response); // Обновит содержимое элемента с id "result"
            }
        });
    });

- В контроллере, который обрабатывает вашу форму, вы можете добавить следующий код:

    if(Yii::$app->request->isAjax) {
        echo 'Текст, который вы хотите вывести после отправки формы';
        Yii::$app->end();
    }

- В представлении, вы можете добавить элемент с id "result", где будет отображаться результат отправки формы:

    <div id="result"></div>

Каждый из этих подходов имеет свои преимущества и можно выбрать наиболее подходящий вариант, основываясь на требованиях вашего проекта.