Здравствуйте сделал вкладку с баннерами но захотел добавить заголовок и ссылку для кнопок по подобию других полей сделал но не сохраняются в базе поля
<file path="admin/view/template/catalog/category_form.twig">
<operation error="skip">
<search><![CDATA[{{ tab_data }}</a></li>]]></search>
<add position="after"><![CDATA[
<li><a href="#tab-image" data-toggle="tab">Баннеры</a></li>
]]></add>
</operation>
<operation error="skip">
<search><![CDATA[<div class="tab-pane" id="tab-data">]]></search>
<add position="before"><![CDATA[
<div class="tab-pane" id="tab-image">
<div class="table-responsive">
<table id="images" class="table table-striped table-bordered table-hover">
<thead>
<tr>
<td class="text-left">{{ entry_image }}</td>
<td class="text-right">Заголовок кнопки</td>
<td class="text-right">Ссылка кнопки</td>
<td class="text-right">{{ entry_sort_order }}</td>
<td></td>
</tr>
</thead>
<tbody>
{% set image_row = 0 %}
{% for category_image in category_images %}
<tr id="image-row{{ image_row }}">
<td class="text-left"><a href="" id="thumb-image{{ image_row }}" data-toggle="image" class="img-thumbnail"><img src="{{ category_image['thumb'] }}" alt="" title="" data-placeholder="{{ placeholder }}" /></a><input type="hidden" name="category_image[{{ image_row }}][image]" value="{{ category_image['image'] }}" id="input-image{{ image_row }}" /></td>
<td class="text-right"><input type="text" name="category_image[{{ image_row }}][banner_title]" value="{{ category_image['sort_orde_t'] }}" placeholder="Заголовок кнопки" class="form-control" /></td>
<td class="text-right"><input type="text" name="category_image[{{ image_row }}][banner_link]" value="{{ category_image['banner_link'] }}" placeholder="Ссылка кнопки" class="form-control" /></td>
<td class="text-right"><input type="text" name="category_image[{{ image_row }}][sort_order]" value="{{ category_image['sort_order'] }}" placeholder="{{ entry_sort_order }}" class="form-control" /></td>
<td class="text-left"><button type="button" onclick="$('#image-row{{ image_row }}').remove();" data-toggle="tooltip" title="{{ button_remove }}" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>
</tr>
{% set image_row = image_row + 1 %}
{% endfor %}
</tbody>
<tfoot>
<tr>
<td colspan="4"></td>
<td class="text-left"><button type="button" onclick="addImage();" data-toggle="tooltip" title="{{ button_image_add }}" class="btn btn-primary"><i class="fa fa-plus-circle"></i></button></td>
</tr>
</tfoot>
</table>
</div>
</div>
]]></add>
</operation>
<operation error="skip">
<search><![CDATA[{{ footer }}]]></search>
<add position="before"><![CDATA[
<script type="text/javascript"><!--
var image_row = {{ image_row }};
function addImage() {
html = '<tr id="image-row' + image_row + '">';
html += ' <td class="text-left"><a href="" id="thumb-image' + image_row + '"data-toggle="image" class="img-thumbnail"><img src="{{ placeholder }}" alt="" title="" data-placeholder="{{ placeholder }}" /><input type="hidden" name="category_image[' + image_row + '][image]" value="" id="input-image' + image_row + '" /></td>';
html += ' <td class="text-right"><input type="text" name="category_image[' + image_row + '][banner_title]" value="" placeholder="Заголовок кнопки" class="form-control" /></td>';
html += ' <td class="text-right"><input type="text" name="category_image[' + image_row + '][banner_link]" value="" placeholder="Ссылка кнопки" class="form-control" /></td>';
html += ' <td class="text-right"><input type="text" name="category_image[' + image_row + '][sort_order]" value="" placeholder="{{ entry_sort_order }}" class="form-control" /></td>';
html += ' <td class="text-left"><button type="button" onclick="$(\'#image-row' + image_row + '\').remove();" data-toggle="tooltip" title="{{ button_remove }}" class="btn btn-danger"><i class="fa fa-minus-circle"></i></button></td>';
html += '</tr>';
$('#images tbody').append(html);
image_row++;
}
//--></script>
]]></add>
</operation>
</file>
<file path="admin/controller/catalog/category.php">
<operation error="skip">
<search><![CDATA[$this->load->model('catalog/category');]]></search>
<add position="after"><![CDATA[
$this->model_catalog_category->createCategoryImageTable();
]]></add>
</operation>
<operation error="skip">
<search><![CDATA[if (isset($this->request->post['category_layout'])) {]]></search>
<add position="before"><![CDATA[
if (isset($this->request->post['category_image'])) {
$category_images = $this->request->post['category_image'];
} elseif (isset($this->request->get['category_id'])) {
$category_images = $this->model_catalog_category->getCategoryImages($this->request->get['category_id']);
} else {
$category_images = array();
}
$data['category_images'] = array();
foreach ($category_images as $category_image) {
if (is_file(DIR_IMAGE . $category_image['image'])) {
$image = $category_image['image'];
$thumb = $category_image['image'];
} else {
$image = '';
$thumb = 'no_image.png';
}
$data['category_images'][] = array(
'image' => $image,
'thumb' => $this->model_tool_image->resize($thumb, 100, 100),
'sort_order' => $category_image['sort_order'],
'banner_title' => $banner_title,
'banner_link' => $banner_link
);
}
]]></add>
</operation>
</file>
<file path="admin/model/catalog/category.php">
<operation error="skip">
<search><![CDATA[public function getCategoryStores]]></search>
<add position="before"><![CDATA[
public function getCategoryImages($category_id) {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category_image WHERE category_id = '" . (int)$category_id. "' ORDER BY sort_order ASC");
return $query->rows;
}
public function createCategoryImageTable() {
$query = $this->db->query("
CREATE TABLE IF NOT EXISTS `" . DB_PREFIX . "category_image` (
`category_image_id` int(11) NOT NULL AUTO_INCREMENT,
`category_id` int(11) NOT NULL,
`image` varchar(255) DEFAULT NULL,
`sort_order` int(3) NOT NULL DEFAULT '0',
`banner_title` varchar(255) DEFAULT NULL,
`banner_link` varchar(255) DEFAULT NULL,
PRIMARY KEY (`category_image_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
");
}
]]></add>
</operation>
<operation error="skip">
<search><![CDATA[$category_id = $this->db->getLastId();]]></search>
<add position="after"><![CDATA[
if (isset($data['category_image'])) {
foreach ($data['category_image'] as $category_image) {
$this->db->query("INSERT INTO " . DB_PREFIX . "category_image SET category_id = '" . (int)$category_id . "', image = '" . $this->db->escape($category_image['image']) . "', sort_order = '" . (int)$category_image['sort_order'] . "'");
}
}
]]></add>
</operation>
<operation error="skip">
<search><![CDATA[public function editCategory($category_id, $data) {]]></search>
<add position="after"><![CDATA[
$this->db->query("DELETE FROM " . DB_PREFIX . "category_image WHERE category_id = '" . (int)$category_id . "'");
if (isset($data['category_image'])) {
foreach ($data['category_image'] as $category_image) {
$this->db->query("INSERT INTO " . DB_PREFIX . "category_image SET category_id = '" . (int)$category_id . "', image = '" . $this->db->escape($category_image['image']) . "', sort_order = '" . (int)$category_image['sort_order'] . "'");
}
}
]]></add>
</operation>
<operation error="skip">
<search><![CDATA[$this->db->query("DELETE FROM " . DB_PREFIX . "category WHERE category_id]]></search>
<add position="before"><![CDATA[
$this->db->query("DELETE FROM " . DB_PREFIX . "category_image WHERE category_id = '" . (int)$category_id . "'");
]]></add>
</operation>
</file>
<file path="catalog/model/catalog/category.php">
<operation error="skip">
<search><![CDATA[public function getCategoryLayoutId]]></search>
<add position="before"><![CDATA[
public function getCategoryImages($category_id) {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category_image WHERE category_id = '" . (int)$category_id . "' ORDER BY sort_order ASC");
return $query->rows;
}
]]></add>
</operation>
</file>
Поля добавил
'banner_title' => $banner_title,
'banner_link' => $banner_link
Подскажите что делаю не так