Для динамического создания полей формы в Yii2 можно использовать JavaScript. Вот пример того, как это можно сделать:
1. В представлении формы (например, `form.php`) добавьте кнопку или любой другой элемент, который будет выполнять динамическое добавление полей формы. Например:
```php
<button id="add-field">Добавить поле</button>
<div id="fields-container">
<!-- Здесь будут добавляться динамические поля формы -->
</div>
```
2. Добавьте JavaScript код для обработки события добавления поля формы. Например:
```javascript
$(document).ready(function() {
var counter = 0;
$('#add-field').click(function() {
var field = '<input type="text" name="field[' + counter + ']" />';
$('#fields-container').append(field);
counter++;
});
});
```
3. В контроллере, который обрабатывает отправку формы, вы можете получить значения динамически созданных полей формы следующим образом:
```php
public function actionSaveForm()
{
$fields = Yii::$app->request->post('field');
// $fields - массив со значениями динамически созданных полей формы
}
```
Помимо этого, вам может потребоваться выполнить дополнительную валидацию и обработку этих полей перед сохранением. Однако, базовая идея состоит в динамическом создании полей формы на стороне клиента, а затем получении их значений на сервере при отправке формы.