добавлять динамически рядки и колонки. может пакетом отдельным кто-то видел?
Тоже интересует
https://docs.octobercms.com/2.x/backend/forms.html#data-table
а тут разве есть возможность колонки добавлять? у меня почемуто в репитере дататейбл вообще не работает, только кнопки добавить/удалить рядок есть
сделал formwidget на alpine js. выкину решение _widget.php <script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.13.3/dist/cdn.min.js"></script> <div x-data="{ rows: <?= $this->vars['rows']?>, cols: <?= $this->vars['cols']?>, data: <?= str_replace('"', "'", json_encode($this->data->table))?>}"> <table class="table"> <template x-for="row in rows"> <tr> <template x-for="col in cols"> <td> <textarea x-bind:name="'<?= $this->formField->config['arrayName'] . '[' . $this->fieldName?>]['+row+'][]'" style="width: 100%; height: 100%;resize: none;margin-top:-8px;" x-text="data[row][col-1]" ></textarea> </td> </template> </tr> </template> </table> <div> <div class="btn btn-success" x-on:click="[rows++]">+ Row</div> <div class="btn btn-success" x-on:click="[cols++]">+ Col</div> </div> </div> class Table extends FormWidgetBase { /** * @var string defaultAlias to identify this widget. */ protected $defaultAlias = 'table'; public function render() { $this->vars['rows'] = count($this->data->table); $this->vars['cols'] = isset($this->data->table[1]) ? count($this->data->table[1]) : 0; return $this->makePartial('widget'); } }
Покаж как выглядит
Обсуждают сегодня