Как динамически добавить GridView на страницу?

Чтобы динамически добавить GridView на страницу с использованием фреймворка Yii, нужно выполнить несколько шагов.

1. Создание модели данных и провайдера данных (Data Provider):
Сначала вам нужно создать модель данных, которая будет использоваться для получения данных, отображаемых в GridView. Затем создайте провайдер данных, который будет агрегировать эти данные и предоставлять их для отображения в GridView.

Пример кода:

use yiidataArrayDataProvider;
use appmodelsYourModel;

$model = new YourModel();
$yourData = $model->find()->all();

$dataProvider = new ArrayDataProvider([
    'allModels' => $yourData,
    'pagination' => [
        'pageSize' => 20,
    ],
    'sort' => [
        'attributes' => ['id', 'name'],
    ],
]);

2. Создание GridView:
Теперь создайте GridView, который будет отображать данные, полученные с помощью провайдера данных.

Пример кода:

use yiigridGridView;

echo GridView::widget([
    'dataProvider' => $dataProvider,
    'columns' => [
        'id',
        'name',
        // Другие столбцы
        ['class' => 'yiigridActionColumn'],
    ],
]);

3. Добавление GridView на страницу:
Теперь, когда у вас есть провайдер данных и GridView, вы можете добавить его на вашу страницу.

Есть несколько способов сделать это. Вы можете включить виджет GridView в представление (view) с помощью метода renderPartial или render.

Например, если у вас есть представление (view) 'your/view', вы можете добавить GridView следующим образом:

<?= $this->render('@app/views/shared/_gridView', ['dataProvider' => $dataProvider]) ?>

В представлении, где вы хотите отобразить GridView, вы должны объявить переменную $dataProvider и передать ее в виджет при вызове render.

Надеюсь, эти шаги помогут вам динамически добавить GridView на страницу с использованием фреймворка Yii. Если у вас возникнут вопросы, не стесняйтесь задавать дополнительные вопросы.