В GridView я сделал поля input которые выводят информацию(цифру) для позиционирования блоков на сайте, чтобы при желании можно было выбрать позиции сразу для всех блоков
вот так это сделал в коде
<?php
$form = ActiveForm::begin(['action' => ['main-page/sort/'],]);
echo GridView::widget([
'dataProvider' => $dataProvider,
'summary' => false,
'columns' => [
[
'attribute' => 'position',
'filter' => false,
'format' => 'raw',
'headerOptions' => ['width' => '150'],
'value' => function($model) use ($form) {
return $form->field($model, 'position')->textInput(['style' => 'width:50px'])->label(false);
}
],
'name',
?>
<div class="form-group">
<?= Html::submitButton('Сохранить позиции', ['class' => 'btn btn-default']) ?>
</div>
<?php
ActiveForm::end();
?>
Две проблемы появляются.
1) При нажатии на кнопку сохранить отправляется массив пост запросом который отправляет только 1 Одно последнее значения поля
Попробовал вот так
return $form->field($model, 'position[]')->textInput(['style' => 'width:50px'])->label(false);
Отправляет все значения, но так пропадет отображение самих значений в этих полях
И Второе, не пойму как вместе с массивом отправлять id модели к которой принадлежит значение, чтобы в контролере можно было его сохранить
Кто знает как победить?