Использую opencart.pro 2.3.0.2.
Товары их аттрибуты(характеристики) загружаю в базу скриптом.
В таблице oc_product_attribute все аттрибуты нормально видны.
Система на 3-х языках. И все аттрибуты на 3-х языках.
Открываю админку продукта, там в складке характеристики только показывает значение аттрибута на русском языке а две другие пусты.
Немного проанализировал файлы и кажется есть несоответствие между контроллером и видом(.tpl).
Контроллер: /system/storage/modification/admin/controller/catalog/product.php
Вид: system/storage/modification/admin/view/template/catalog/product_form.tlp
В контроллере после строки:
$attribute_info = $this->model_catalog_attribute->getAttribute($product_attribute['attribute_id']);
Значения аттрибутов передаются только для русского языка.
Я по ходу решил проблему переписав функцию model_catalog_attribute->getAttribute на getAttributeLanguage и изменив tpl файл следущим образом:
public function getAttributeLanguage($attribute_id) {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "attribute a LEFT JOIN " . DB_PREFIX . "attribute_description ad ON (a.attribute_id = ad.attribute_id) WHERE a.attribute_id = '" . (int)$attribute_id . "'");
return $query->row;
}
<td class="text-left"><?php foreach ($languages as $language) { if (isset($product_attribute['product_attribute_description'][$language['language_id']])) { ?>
<div class="input-group"><span class="input-group-addon"><img src="language/<?php echo $language['code']; ?>/<?php echo $language['code']; ?>.png" title="<?php echo $language['name']; ?>" /></span>
<textarea name="product_attribute[<?php echo $attribute_row; ?>][product_attribute_description][<?php echo $language['language_id']; ?>][text]" rows="5" placeholder="<?php echo $entry_text; ?>" class="form-control"><?php echo isset($product_attribute['product_attribute_description'][$language['language_id']]) ? $product_attribute['product_attribute_description'][$language['language_id']]['text'] : ''; ?></textarea>
</div>
<?php } } ?></td>
Хотелось бы узнать мнение знатоков. Это дествительно ошибка или так задумано?