Для версий 1.5.х
Сперва делаем SQL-запрос, чтоб добавить в таблицу поле нового изображения товара:
ALTER TABLE `oc_product` ADD `moreimage` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci
Ваш префикс может отличаться, не забываем об этом.
Дальше идем в модель
admin/model/catalog/product.php
дважды находим такую конструкцию:
if (isset($data['image'])) {
$this->db->query("UPDATE " . DB_PREFIX . "product SET image = '" . $this->db->escape(html_entity_decode($data['image'], ENT_QUOTES, 'UTF-8')) . "' WHERE product_id = '" . (int)$product_id . "'");
}
дважды вставляем после нее:
if (isset($data['moreimage'])) {
$this->db->query("UPDATE " . DB_PREFIX . "product SET moreimage = '" . $this->db->escape(html_entity_decode($data['moreimage'], ENT_QUOTES, 'UTF-8')) . "' WHERE product_id = '" . (int)$product_id . "'");
}
Теперь контроллер
admin/controller/catalog/product.php
Ищем
$this->data['entry_image'] = $this->language->get('entry_image');
За ним добавляем
$this->data['entry_moreimage'] = $this->language->get('entry_moreimage');
Ищем
if (isset($this->request->post['image'])) {
$this->data['image'] = $this->request->post['image'];
} elseif (!empty($product_info)) {
$this->data['image'] = $product_info['image'];
} else {
$this->data['image'] = '';
}
За ним добавляем
if (isset($this->request->post['moreimage'])) {
$this->data['moreimage'] = $this->request->post['moreimage'];
} elseif (!empty($product_info)) {
$this->data['moreimage'] = $product_info['moreimage'];
} else {
$this->data['moreimage'] = '';
}
Ищем
if (isset($this->request->post['image']) && file_exists(DIR_IMAGE . $this->request->post['image'])) {
$this->data['thumb'] = $this->model_tool_image->resize($this->request->post['image'], 100, 100);
} elseif (!empty($product_info) && $product_info['image'] && file_exists(DIR_IMAGE . $product_info['image'])) {
$this->data['thumb'] = $this->model_tool_image->resize($product_info['image'], 100, 100);
} else {
$this->data['thumb'] = $this->model_tool_image->resize('no_image.jpg', 100, 100);
$this->data['image'] = 'no_image.jpg';
}
За ним добавляем
if (isset($this->request->post['moreimage']) && file_exists(DIR_IMAGE . $this->request->post['moreimage'])) {
$this->data['morethumb'] = $this->model_tool_image->resize($this->request->post['moreimage'], 100, 100);
} elseif (!empty($product_info) && $product_info['moreimage'] && file_exists(DIR_IMAGE . $product_info['moreimage'])) {
$this->data['morethumb'] = $this->model_tool_image->resize($product_info['moreimage'], 100, 100);
} else {
$this->data['morethumb'] = $this->model_tool_image->resize('no_image.jpg', 100, 100);
$this->data['moreimage'] = 'no_image.jpg';
}
Теперь шаблон
admin/view/template/product_form.tpl
Ищем
<tr>
<td><?php echo $entry_image; ?></td>
<td><div class="image"><img src="<?php echo $thumb; ?>" alt="" id="thumb" /><br />
<input type="hidden" name="image" value="<?php echo $image; ?>" id="image" />
<a onclick="image_upload('image', 'thumb');"><?php echo $text_browse; ?></a> | <a onclick="$('#thumb').attr('src', '<?php echo $no_image; ?>'); $('#image').attr('value', 'no_image.jpg');"><?php echo $text_clear; ?></a></div></td>
</tr>
За ним добавляем
<tr>
<td><?php echo $entry_moreimage; ?></td>
<td><div class="image"><img src="<?php echo $morethumb; ?>" alt="" id="morethumb" /><br />
<input type="hidden" name="moreimage" value="<?php echo $moreimage; ?>" id="moreimage" />
<a onclick="image_upload('moreimage', 'morethumb');"><?php echo $text_browse; ?></a> | <a onclick="$('#thumb').attr('src', '<?php echo $no_image; ?>'); $('#moreimage').attr('value', 'no_image.jpg');"><?php echo $text_clear; ?></a></div></td>
</tr>
Ну и в языке не помешает
admin/language/russian/catalog/product.php
Ищем
$_['entry_image'] = 'Изображение товара:';
За ним добавляем
$_['entry_moreimage'] = 'Еще одно изображение товара:';
Вуаля! Теперь у нас есть доп. изображение для товара. На витрине вывод аналогичен. Получаем переменную - передаем в шаблон. Где там ваши идеи и потребности нужно организовать.
Как-то так.