Как правильно генерировать путь хранения картинки при помещении товаров в базу данных своим парсером?

Добрый день. Есть задача копирования товаров с одного сайта на сайт на WebAssyst. В каких таблицах хранятся данные товаров, артикулов, категорий, уже разобрались. Подскажите, пожалуйста, как правильно помещать картинку в папки CMS, чтобы она "увиделась" CMS? Многие картинки хранятся по такому пути: wa-data/public/shop/products/56/10/1056/images/3643/3643.970.png

Здесь 1056- ID товара, 3643 - ID картинки. Верен ли алгоритм назначения пути хранения картинке:

data/public/shop/products/<вторая_часть_ID_товара>/<первая_часть_ID_товара>/<ID_товара>/images/<ID_картинки>/<ID_картинки>.<ширина_картинки>.png?

Спасибо заранее!

(Только, пожалуйста, не надо отвечать: используйте импорт товаров через csv. Потому что 1. парсер уже написан, кроме помещения картинок, 2. скрипт парсера должен будет запускаться автоматически через Cron)

3 ответа

  • 1

    А что мешает использовать для добавления фоток к товарам стандартные механизмы?

    Посмотрите как это реализовано вот здесь в методе stepImportImage. Самое интересное там начинается вот отсюда

  • 1
    mFrance 24 апреля 2017 17:06 #

    Спасибо за ответ!

    "А что мешает использовать для добавления фоток к товарам стандартные механизмы?" - с радостью! :-) Ничего не мешает. Просто пока знакомимся с CMS WebAsyst, не знали, где находятся "стандартные механизмы" :-)

  • 1
    mFrance 24 апреля 2017 17:38 #

    А не могли бы Вы, пожалуйста, написать название функции, в которой находится нужный код? А то указанные Вами адреса не открываются в браузере, а на строке 1511 файла shopCsvProductrun.controller.php код, не относящийся к картинкам:

    $key .= 'a:';

    if (!$this->emulate()) {

    $id = $model->add($data, $parent_id);

    $model->move($id, null, $parent_id);

    $stack[] = $id;

    $target = 'new';

    } else {

    $stack[] = $this->getKey($fields);

    $target = 'add';

    $key .= implode($stack);

    $this->emulate($key);

    }

    • +1

      Как вариант, установите плагин Генератор товаров и гляньте.Там в классе shopGeneratorPluginRunController в районе 170 строки сможете посмотреть и разобраться. Раз плагин модерацию прошел, значит в целом все верно там в этой части.

    • +1

      Ну раз адрес не открывается, значит у Вас нет доступа к вебасистовскому гиту. Рекомендую запросить.

      У Вас, видимо отличная версия от той, которая в репах на гите.

      Ищите в этом файле метод stepImportImage

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите