Доброго времени суток, уважаемые форумчане. Собственно интересует та же задача. Пытаюсь справиться своими силами.
Исходные данные: движок ocstore 2.3.0.2.1, шаблон - дефолт
Что сделано
1. в таблицу oc_attribute добавлена графа icon
далее действовал по аналогии с прикреплением изображения к продукту
2. изменен файл admin/model/catalog/attribute.php следующим образом
2.1 в функцию addAttribute() добавлены строки
if (isset($data['icon'])) {
$this->db->query("UPDATE " . DB_PREFIX . "attribute SET icon = '" . $this->db->escape($data['icon']) . "' WHERE attribute_id = '" . (int)$attribute_id . "'");
}
2.2 в функцию editAttribute() добавлены строки
if (isset($data['icon'])) {
$this->db->query("UPDATE " . DB_PREFIX . "attribute SET icon = '" . $this->db->escape($data['icon']) . "' WHERE attribute_id = '" . (int)$attribute_id . "'");
}
3. в файл /admin/view/template/catalog/attribute_form.tpl добавлена конструкция
<div class="form-group">
<label class="col-sm-2 control-label" for="input-sort-order"><?php echo $entry_icon; ?></label>
<div class="col-sm-10">
<a href="" id="thumb-image" data-toggle="image" class="img-thumbnail"><img src="<?php echo $thumb_icon; ?>" alt="" title="" data-placeholder="<?php echo $placeholder_icon; ?>" /></a><input type="hidden" name="icon" value="<?php echo $icon; ?>" id="input-image" />
</div>
</div>
4. в файле /admin/controller/catalog/attribute.php в функцию getForm() добавлены строки
if (isset($this->request->post['icon'])) {
$data['icon'] = $this->request->post['icon'];
} elseif (!empty($attribute_info)) {
$data['icon'] = $attribute_info['icon'];
} else {
$data['icon'] = '';
}
$this->load->model('tool/icon');
if (isset($this->request->post['icon']) && is_file(DIR_IMAGE . $this->request->post['icon'])) {
$data['thumb_icon'] = $this->model_tool_icon->resize($this->request->post['icon'], 100, 100);
} elseif (!empty($attribute_info) && is_file(DIR_IMAGE . $attribute_info['icon'])) {
$data['thumb_icon'] = $this->model_tool_icon->resize($attribute_info['icon'], 100, 100);
} else {
$data['thumb_icon'] = $this->model_tool_icon->resize('no_image.png', 100, 100);
}
$data['placeholder_icon'] = $this->model_tool_icon->resize('no_image.png', 100, 100);
Эти мероприятия привели к тому, что в графу icon таблицы oc_attribute прописывается путь к изображению. Однако обратной связи нет. В карточке атрибута это изображение не отображается (попытка считать содержимое $thumb_icon приводит к "Notice: Undefined variable: thumb_icon in ...\admin\view\template\catalog\attribute_form.tpl on line 69" ).
Точно так же себя ведет попытка вывести $attribute['icon'] в карточку товара – Undefined index: icon.
Складывается впечатление, что в $attribute_info значение графы icon не попадает.
Подскажите, пожалуйста, в какую сторону копать дальше? И в каком месте данные переменные объявляются?
Подскажите, в какую сторону копать, и где мне их