Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Админка не показывает поля загруженных характеристик для разных языков


 Share

Recommended Posts

Использую 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>

 

Хотелось бы узнать мнение знатоков. Это дествительно ошибка или так задумано?

Link to comment
Share on other sites


ищите причину либо в способе импорта

либо в изменениях самих файлов, раз system/storage/modification

 

вручную добавьте атрибуты в товаре, сохраните и снова его откройте

если все ок - точно п.1

Link to comment
Share on other sites

  • 3 years later...
В 08.10.2017 в 17:46, AlexDW сказал:

ищите причину либо в способе импорта

либо в изменениях самих файлов, раз system/storage/modification

 

вручную добавьте атрибуты в товаре, сохраните и снова его откройте

если все ок - точно п.1

 

подскажите пожалуйста

как в сделать чтоб в эту таблицу (oc_product_attribute) добавлялась дата добавления при добавления нового значения? 

а то глаза скоро сотрутся:shock:

OcStore 3

Link to comment
Share on other sites


4 часа назад, Desserro сказал:

а то глаза скоро сотрутся

Куда сотрутся?

На самом деле таблица "динамическая", он не может иметь дату добавления - при редактировании список (значения) удаляется, а затем записываются новые.

Link to comment
Share on other sites

8 часов назад, chukcha сказал:

Куда сотрутся?

На самом деле таблица "динамическая", он не может иметь дату добавления - при редактировании список (значения) удаляется, а затем записываются новые.

 

При импорте товаров есть сложности загрузки на двух языках.

Даже при использовании модуля АОП не всегда получатся блее менее загрузить как нужно.

Разные нюансы бывают долго описывать.

 

В моем случае можно поступить так: 

Через прорамму HeidiSQL

Сделать выборку по айдишнику

и вручную переводчиком перевести на нужный язык

 

Но если будут добалены потом еще товары

То прийдется делать поиск среди сотни тысяч строк

 

Если можно былобы добавить дату добавления

Тогда отсортировал по дате перевел и забыл

 

Если у вас есть менее изощренные варианты решения подобной задачи подскажите пожалуйста!?

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.