Здравствуйте. У меня OC2.1 Релизую возможность добавления в базы моделей авто. Создал базы: oc_mymake с полями: , mymake_id, name, status (это для моделей) oc_mymodel с полями: mymodel_id, mymake_id, name, status (это для модификаций) oc_mymodel_year с полями mymodel_year_id, mymodel_id, start_year, stop_year (для привязки к модификациям годов начала и окончания выпуска) Сделал в адинке страницы с моделями и с модификациями. На странице с модификациями можно выбрать модель к которой относится модификация и сразу плюсиком можно добавлять года (начало выпуска и конец выпуска) И так я добавляю модификацию и плюсиком добавляю года например одна строка 1997-2000, а вторая строка 2001-2010 После сохранения в базе oc_mymodel_year должно добавится две строки, но на самом деле сохраняется только одна (2001-2010) Если я зайду в режим редактирования модификации, то увижу только одну строку с годами 2001-2010. Теперь добавлю снова запись с годами 1997-2000. После этого у меня в базе появлется ещё одна строка, а снова зайдя в режим редактирования модификации я вижу, что строки две. Получается, что логика работает, но как-то коряво, я не могу за раз добавить несколько значений годов. Скорее всего ошибка простейшая, но я не знаю РНР и делаю всё методом тыка, нахожу похожие по функционалу модули и с них срисовываю. Видимо что-то недосрисовал. Я прикрепляю к сообщению файлы модели, контроллера. Темплейт форум не даёт загрузить, поэтому кидаю его прямо текстом
<?php echo $header; ?><?php echo $column_left; ?>
<div id="content">
<div class="page-header">
<div class="container-fluid">
<div class="pull-right">
<button type="submit" form="form-mymodel" data-toggle="tooltip" title="<?php echo $button_save; ?>" class="btn btn-primary"><i class="fa fa-save"></i></button>
<a href="<?php echo $cancel; ?>" data-toggle="tooltip" title="<?php echo $button_cancel; ?>" class="btn btn-default"><i class="fa fa-reply"></i></a></div>
<h1><?php echo $heading_title; ?></h1>
<ul class="breadcrumb">
<?php foreach ($breadcrumbs as $breadcrumb) { ?>
<li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li>
<?php } ?>
</ul>
</div>
</div>
<div class="container-fluid">
<?php if ($error_warning) { ?>
<div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> <?php echo $error_warning; ?>
<button type="button" class="close" data-dismiss="alert">×</button>
</div>
<?php } ?>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title"><i class="fa fa-pencil"></i> <?php echo $text_form; ?></h3>
</div>
<div class="panel-body">
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="form-mymodel" class="form-horizontal">
<div class="form-group required">
<label class="col-sm-2 control-label" for="input-name"><?php echo $entry_name; ?></label>
<div class="col-sm-10">
<input type="text" name="name" value="<?php echo $name; ?>" placeholder="<?php echo $entry_name; ?>" id="input-name" class="form-control" />
<?php if ($error_name) { ?>
<div class="text-danger"><?php echo $error_name; ?></div>
<?php } ?>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="input-mymake"><?php echo $entry_mymake; ?></label>
<div class="col-sm-10">
<select name="mymake_id" id="input-mymake" class="form-control">
<?php foreach ($countries as $mymake) { ?>
<?php if ($mymake['mymake_id'] == $mymake_id) { ?>
<option value="<?php echo $mymake['mymake_id']; ?>" selected="selected"><?php echo $mymake['name']; ?></option>
<?php } else { ?>
<option value="<?php echo $mymake['mymake_id']; ?>"><?php echo $mymake['name']; ?></option>
<?php } ?>
<?php } ?>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="input-status"><?php echo $entry_status; ?></label>
<div class="col-sm-10">
<select name="status" id="input-status" class="form-control">
<?php if ($status) { ?>
<option value="1" selected="selected"><?php echo $text_enabled; ?></option>
<option value="0"><?php echo $text_disabled; ?></option>
<?php } else { ?>
<option value="1"><?php echo $text_enabled; ?></option>
<option value="0" selected="selected"><?php echo $text_disabled; ?></option>
<?php } ?>
</select>
</div>
</div>
<table id="year" class="table table-striped table-bordered table-hover">
<thead>
<tr>
<td class="text-left" width="40%">Год от</td>
<td class="text-left" width="40%">Год до</td>
<td></td>
</tr>
</thead>
<?php $year_row = 0; ?>
<tbody>
<?php foreach ($mymodel_years as $mymodel_year) { ?>
<tr>
<td class="left"><input type="text" name="mymodel_year[<?php echo $year_row; ?>][start_year]" value="<?php echo $mymodel_year['start_year']; ?>" size="4" class="form-control" /></td>
<td class="left"><input type="text" name="mymodel_year[<?php echo $year_row; ?>][stop_year]" value="<?php echo $mymodel_year['stop_year']; ?>" size="4" class="form-control" /></td>
<td class="left"><a onclick="$(this).parents('tr').remove();" class="btn btn-danger"><i class="fa fa-minus-circle"></i></a></td>
</tr>
<?php $year_row++; ?>
<?php } ?>
</tbody>
<tfoot>
<tr>
<td colspan=2></td>
<td class="left"><a onclick="addyear();" class="btn btn-primary"><i class="fa fa-plus-circle"></i></a></td>
</tr>
</tfoot>
</table>
</form>
</div>
<script type="text/javascript">
$('#year tbody').on('keydown', '.yearend', function(e){
var keyCode = e.keyCode || e.which;
if(keyCode == 9){
e.preventDefault();
addyear();
}
});
</script>
<script type="text/javascript">
var year_row = <?php echo $year_row; ?>;
function addyear() {
html = ' <tr>';
html += ' <td class="left"><input type="text" name="mymodel_year[' + year_row + '][start_year]" value="" size="4" class="form-control" /></td>';
html += ' <td class="left"><input type="text" class="yearend form-control" name="mymodel_year[' + year_row + '][stop_year]" value="" size="4" class="form-control" /></td>';
html += ' <td class="left"><a onclick="' + "$(this).parents('tr').remove();" + '" class="btn btn-danger"><i class="fa fa-minus-circle"></i></a></td>';
html += ' </tr>';
$('#year tbody').append(html);
makeComplete(year_row);
modelComplete(year_row);
engineComplete(year_row);
$('.make').last().focus();
year_row++;
}
</script>
</div>
</div>
</div>
<?php echo $footer; ?>
Я уже 3 дня вожусь с эти, хотя понимаю что там делов на 5 минут.
Помогите пожалуйста, подскажите в чём мой косяк.
mymodel.php
mymodel.php