relbraun / yii2repeater
Repeater widget for yii2 tabular
Installs: 4 811
Dependents: 0
Suggesters: 0
Security: 0
Stars: 11
Watchers: 5
Forks: 2
Open Issues: 0
Type:yii2-extension
Requires
- php: ^5.4.3 || ^7.0
- yiisoft/yii2-bootstrap: @dev
This package is not auto-updated.
Last update: 2025-01-18 22:14:50 UTC
README
An Yii2 widget enable you to implement Yii2 tabular with simple way.
##How to use
install using composer:
composer require relbraun/yii2repeater
put this code in your form:
<?php echo Repeater::widget([
'modelView' => '@backend/views/path/to/your/repeater_view_file',
'appendAction' => \yii\helpers\Url::to(['add-item-action']),
'removeAction' => \yii\helpers\Url::to(['remove-item-action']),
'form' => $form,
'models' => $models, //The existing sub models
]) ?>
in your desired controller ypu have to put tis code:
public function actions()
{
return [
'add-item' => [
'class' => 'relbraun\yii2repeater\actions\AppendAction',
'model' => 'backend\models\DesiredModel',
'contentPath' => '/path/to/repeater/view', //related to current controller
],
'remove-item' => [
'class' => 'relbraun\yii2repeater\actions\DeleteAction',
'model' => 'backend\models\DesiredModel',
]
];
}
And this is an example of the repeater_view_file.php reminded above:
<div class="repeater-content">
<div class="form-group">
<?= Html::label('Some label', Html::getInputId($model, "[$k]attribute")) ?>
<?= Html::activeTextInput($model, "[$k]attribute", ['class' => 'form-control']) ?>
</div>
<div class="form-group">
<?= Html::label('Other label', Html::getInputId($model, "[$k]other_attribute")) ?>
<?= Html::activeTextInput($model, "[$k]other_attribute", ['class' => 'form-control']) ?>
</div>
</div>