inilim2
@inilim2
Intern PHP

[CS CART] Как импортировать изображения по url?

Добрый день! В базе товаров есть 44 000 позиций. Для них нужно установить изображения, полученные по API поставщика в виде URL.
Подскажите пожалуйста, как добавить изображения и связать их с товаром?

Товары добавлял через fn_update_product().
  • Вопрос задан
  • 165 просмотров
Пригласить эксперта
Ответы на вопрос 2
ValeriuCutebov
@ValeriuCutebov
Для импорта изображений по URL в CS-Cart можно использовать следующий алгоритм:

  1. Получите список товаров из базы данных с помощью функции fn_get_products.

  2. Проходите по списку товаров и получите URL-адрес изображения для каждого товара из вашего источника.

  3. Используйте функцию fn_update_product_image, чтобы добавить изображение для каждого товара. Функция принимает ID товара и URL-адрес изображения в качестве параметров.


Пример PHP кода для добавления изображений по URL:
$product_list = fn_get_products(array('product_id', 'product_code')); // Получить список товаров из базы данных
foreach ($product_list as $product) {
    $image_url = 'http://example.com/image.jpg'; // URL-адрес изображения для товара
    $image_data = @file_get_contents($image_url); // Получить данные изображения по URL
    if ($image_data !== false) {
        $image_extension = pathinfo($image_url, PATHINFO_EXTENSION); // Получить расширение файла изображения
        $image_filename = $product['product_code'] . '.' . $image_extension; // Сформировать имя файла изображения
        $image_path = fn_update_product_image($product['product_id'], $image_filename, $image_data); // Добавить изображение и получить путь к файлу
        fn_update_product_image_pairs($product['product_id'], array($image_filename => array('main_pair' => true))); // Сделать изображение основным для товара
    }
}

Обратите внимание, что в примере используется функция file_get_contents для получения данных изображения по URL. Если вы используете HTTPS-соединение, то может потребоваться настройка SSL-сертификата на вашем сервере.

Также функция fn_update_product_image_pairs используется для связывания изображения с товаром. В примере используется параметр 'main_pair' для установки основного изображения для товара, но вы можете использовать и другие параметры для связывания изображений с товаром.
Ответ написан
Комментировать
@stasok86
Cs-cart студия
Привет, ещё вариант через импорт фото товаров. Там тоже полные урл на фотки берет. Первая фотка type - M, для доп. фото - A
Из екселя в csv
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы