Перейти к содержанию
Официальный форум поддержки Simpla

Картинки при обмене с 1С


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

Понадобилось немного поработать с картинками при обмене с 1С.

 

Вот код для записи картинок при обновлении товара:

        // Обновляем изображение товара
        if(isset($xml_product->Картинка))
        {
            foreach($xml_product->Картинка as $img)
            {
                $image = basename($img);
                if(!empty($image) && is_file($dir.$image) && is_writable($simpla->config->original_images_dir))
                {
                    $simpla->db->query('SELECT id FROM __images WHERE product_id=? ORDER BY position LIMIT 1', $product_id);
                    $img_id = $simpla->db->result('id');
                    if(!empty($img_id))
                        $simpla->products->delete_image($img_id);
                    rename($dir.$image, $simpla->config->original_images_dir.$image);
                    $simpla->products->add_image($product_id, $image);
                }
            }
        }


Видно, что в цикле перебираются поступающие картинки.

Что будет, если текущие картинки товара (в порядке возрастания position) 1.jpg, 2.jpg, 3.jpg, а загружаются одна картинка  3.jpg ?

 

1. При первом (и единственном) шаге цикла удалится картинка 1.jpg  и запишется новая картинка 3.jpg (поверх старой) - список станет 2.jpg, 3.jpg.

 

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

 

Таким образом, имеем непредсказуемую пропажу картинок. Результаты работы стандартного скрипта не лезут ни в какие ворота...

 

 

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

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

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

Гость
Ответить в этой теме...

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

  Разрешено использовать не более 75 эмодзи.

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

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

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

Загрузка...
×
×
  • Создать...