Открыта возможность перехода на модули с открытым кодом! Детали

Перейти к публикации

oc_product_image - Обновлять только основное изображение - персональная проблема


Рекомендованные сообщения

Как я вижу ситуацию (пролог):

В моей версии 1С нет возможности загружать больше 1-й картинки для товара. Решил загружать дополнительные картинки из админки опенкарт и тут началась головная боль.

В файле import.xml есть только одна картинка, которая модулем "neoseo обмен с 1С" передается в $data['image']

Остальные картинки, если бы они были в файле import.xml (мною вручную добавлено и проверено), попадают в переменную $data['product_image']

Суть проблемы, как я ее вижу:

В момент импорта, модуль "neoseo обмен с 1С" запускает функцию admin/model/catalog/editProduct($product_id, $data), где в массив $data['product_image'] ничего не отдает, так как изображение для товара в файле import.xml одно единственное. А внутри функции editProduct в любом случае происходит операция $this->db->query("DELETE FROM " . DB_PREFIX . "product_image WHERE product_id = '" . (int)$product_id . "'"); перед добавлением новых изображений.

Проблема:

Вне зависимости от выбранной опции "Обновлять только основное изображение" (Вкл. или Выкл.) в настройках модуля в админке опенкарта, дополнительные изображения, добавленные из админки, удаляются при выгрузке товаров из 1С.

Как я вижу решение:

Если бы я мог по какому то параметру внутри функции editProduct определить что происходит обмен с 1С, то дописал бы if и по нему отключал бы DELETE FROM product_image.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дополнение:

Удалось выявить файл вашего модуля, который бесстыдно удаляет изображения в таблице product_image -_-

admin/model/tool/neoseo_exchange1c.php(6670): DB->query('DELETE FROM oc_...

P.S. Вот эта функция еще фигурирует - ModelToolNeoSeoExchange1c->updateImages()

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

  • 1 month later...

На правах бесплатного решения проблемы модуля оставляю здесь ссылку на сайт компании Eklimat, которая специализируется по комплексным поставкам оборудования и материалов для монтажа систем вентиляции и кондиционирования и использует модуль "Обмен OpenCart с 1С:Предприятие".

Пролог: Ситуация в стране сложная, но 2 месяца ожидания, хотя-бы того что кто-то подскажет, где начать решение - это слишком. =(

Решение данной проблемы (видел на форуме как минимум 2 обращение с похожей проблемой):

   1. Заходим в PhpMyAdmin (или аналог управления базой донных) и создаем копию таблицы [ваш префикс]_product_image (детально описывать не буду, так как             если не понятно это, то лучше ничего не трогать и заказать платную поддержку);

   2. Названием новой таблицы (например: oc_product_image_2) нужно заменить старую в файлах:

  • admin\model\catalog\product.php (INSERT INTO " . DB_PREFIX . "product_image) - встречается дважды
  • admin\model\catalog\product.php (DELETE FROM " . DB_PREFIX . "product_image)- встречается дважды
  • admin\model\catalog\product.php (SELECT * FROM " . DB_PREFIX . "product_image)
  • catalog\model\catalog\product.php (SELECT * FROM " . DB_PREFIX . "product_image)

   3. В административной панели вашего магазина сначала очистить и затем обновить модификаторы (Расширения->Модификаторы);

Если возникнут сложности в исполнении, пишите - постараюсь ответить. 😉

Епилог: В закодированном модуле используется своя функция которая удаляет дополнительные изображения перед загрузкой новых из 1С. Всего-то нужно дописать проверку на наличие дополнительных изображений перед выгрузкой и удалением старых.

P.S. У меня в модуле NeoSeo во вкладке "Товары" не работал пункт "Обновлять только основное изображение: Вкл/Выкл". Возможно это только у меня. 0_0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...