Всем привет. Решил сделать собственный модуль. По аналогии с разными модулями "товары во вкладках" задумал категории во вкладках. Нашел подходящую "болванку" для админки вывел все в пользовательскую часть все работает. Но хотелось бы немного усовершенствовать админку. На скрине впринципе видно механизм действия - кнопкой добавляются блоки, в блоках три текстовых поля - category1, category2 и sort_order. Поля для категорий заполняю через запятую. Хотелось бы для поля category1 сделать выпадающий select со всеми категориями(так как по логике там должно присутствовать только одно значение) а для поля category2 сделать автоподстановку категорий (как в модуле рекомендуемых товаров) Приблизительно понимаю что для начала в контроллере модуля нужно вытащить category_id и name категорий, а затем правильно добавить их в шаблон, но там идет динамическое добавление блоков... а я не сильно силен в синтаксисе - может кто поможет.
Делаю на ocstore 2.3.0.2.1
Вот как выглядит админка
вот часть кода из контроллера которая у меня отвечает за вывод данных модуля
$data['mymodule'] = array();
$sort_order = array();
foreach ($results as $sort_od){
$sort_order[] = $sort_od['sort_order'];
}
array_multisort($sort_order, $results);
foreach ($results as $result) {
$data['mymodule'][] = array(
'category1' => $result['category1'],
'category2' => $result['category2'],
'sort_order' => $result['sort_order'],
);
}
а это часть шаблона модуля, отвечающая за мой модуль
<fieldset>
<legend>Модуль</legend>
<table id="mymodule" class="table table-striped table-bordered table-hover">
<thead>
<tr>
<td class="text-left" width="40%">Категория 1</td>
<td class="text-left" width="40%">Категории</td>
<td class="text-left" width="20%">Сортировка</td>
<td></td>
</tr>
</thead>
<tbody>
<?php $module_row = 0; ?>
<?php foreach ($mymodule as $value) { ?>
<tr id="module-row<?php echo $module_row; ?>">
<td class="text-left">
<input type="text" name="mymodule[<?php echo $module_row; ?>][category1]" value="<?php echo isset($value['category1']) ? $value['category1'] : ''; ?>" placeholder="" class="form-control" />
</td>
<td class="text-left">
<input type="text" name="mymodule[<?php echo $module_row; ?>][category2]" value="<?php echo isset($value['category1']) ? $value['category2'] : ''; ?>" placeholder="" class="form-control" />
</td>
<td class="text-left">
<input type="text" name="mymodule[<?php echo $module_row; ?>][sort_order]" value="<?php echo isset($value['sort_order']) ? $value['sort_order'] : ''; ?>" placeholder="" class="form-control" />
</td>
<td class="text-left"><button type="button" onclick="$('#module-row<?php echo $module_row; ?>, .tooltip').remove();" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>
</tr>
<?php $module_row++; ?>
<?php } ?>
</tbody>
<tfoot>
<tr>
<td colspan="3"></td>
<td class="text-left"><button type="button" onclick="addModule();" data-toggle="tooltip" title="" class="btn btn-primary"><i class="fa fa-plus-circle"></i></button></td>
</tr>
</tfoot>
</table>
</fieldset>
</form>
</div>
</div>
</div>
<script type="text/javascript">
var module_row = <?php echo $module_row; ?>;
function addModule() {
html = '<tr id="module-row' + module_row + '">';
html += ' <td class="text-left">';
html += ' <input type="text" name="mymodule[' + module_row + '][category1]" value="0" placeholder="" class="form-control" />';
html += ' </td>';
html += ' <td class="text-left">';
html += ' <input type="text" name="mymodule[' + module_row + '][category2]" value="0" placeholder="" class="form-control" />';
html += ' </td>';
html += ' <td class="text-left">';
html += ' <input type="text" name="mymodule[' + module_row + '][sort_order]" value="0" placeholder="" class="form-control" />';
html += ' </td>';
html += ' <td class="text-left"><button type="button" onclick="$(\'#module-row' + module_row + '\').remove();" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>';
html += '</tr>';
$('#mymodule>tbody').append(html);
module_row++;
}
</script>
Был бы очень признателен за помощь. С меня на пиво!