Вход • Регистрация

импорт каталога товаров из csv

  • 01 февраля 2013 г.
  • Вот сейчас выбираю CMS под магазин и задумался над приобретением diafan. Первостепенно нужно что бы можно было импортить csv типа
    идентификатор; название; цена; цвет; размер; категория1, категория2...категорияN; картинка1, картинка2...картинкаN;
    при этом заметим, что при разных размерах и цветах это разные товары, но отображаться на сайте они должны как один товар с возможностью выбора размера и цвета. как пример csv
    001; Ботинки; 100; белый; 45; Для мужчин, Обувь, Зимняя; http://pic/1.jpg, http://pic/2.jpg, http://pic/3.jpg;
    002; Ботинки; 100; черный; 45; Для мужчин, Обувь, Зимняя; http://pic/1.jpg, http://pic/2.jpg, http://pic/3.jpg;
    003; Ботинки; 100; белый; 40; Для мужчин, Обувь, Зимняя; http://pic/1.jpg, http://pic/2.jpg, http://pic/3.jpg;
    004; Ботинки; 100; черный; 40; Для мужчин, Обувь, Зимняя; http://pic/1.jpg, http://pic/2.jpg, http://pic/3.jpg;

    После импорта такого файла хочется что бы на сайте появился один товар "Ботинки" в котором в выпадающих меню можно было выбрать цвет и размер. А при оформлении заказа уже было конкретно указанно - товар номер 003 (белые ботинки 40 размера). Подскажите как это исполнить на вашем движке и покупка лицензии не заставит себя ждать))
    • 01 февраля 2013 г.
    • Перебор свойств выборки в CSV прописывает через запятую либо по названию или номеру зарактеристики

      Например, при условии что цена зависит от цвета:

      001; Ботинок; белый,черный,коричневый; 32,34,39,42,45;2000,2200,1800;

      вроде как-то так
      • 01 февраля 2013 г.
      • а как в вашем примере задана зависимостьцены именно от цвета, а не от размера?
  • 01 февраля 2013 г.
  • Спасибо. цена на все товары одинаковая, а вот артикул разный. и что бы вместо белых 45 не выслать черные 40вого - хочется сделать разброс по строкам с разным номером товара, как собственно поставщики и предоставляют csv.
  • 01 февраля 2013 г.
  • простите, не нашел где редактировать своё сообщение поэтому пишу ещё одним. Так же важно заметить, что картинки хочу подгружать с суйте поставщика передавая в импорт только ячейку со списком адресов картинок.
  • 01 февраля 2013 г.
  • По поводу аартинок можно у виталия с диафана уточнить, щас точно пока не скажу, а зависимость устанавливаеься в админке
  • 02 февраля 2013 г.
  • В вашем случае очень всё не просто.
    Придётся в файлах импорта копаться, если надо так как вы описали.
    Но если допускается возможность того что некоторые параметры вывести из описания товара и превратить их в категорию то тогда всё очень просто стаёт. Нужно будет всеголишь пробрасывать картинку от родительской категории в нутрь товара.

    например
    Категория: Ботинок Б120
    Товары для категории Ботинок Б120:
    арт. Б1200000, чёрный размер 41
    арт. Б1200101, синий размер 42
    арт. Б1200001, чёрный размер 42
    арт. Б1200202, зелёный размер 43

    По такому принципу я Магазин шин делал.

    Делать характеристики влияющие на цену нет смысла в двнном случае, так как цена шмоток у брендовых вещей никак не зависит от размера или цвета (в большинстве случаев). Бывают и исключения, есть у нас фабрика швейная у них цена от размера зависит так как они цену формируют в том числе от потраченых матерьялов.
    • 02 февраля 2013 г.
    • характеристики должны влиять только на артикул, набор фоток у товара 1 при всех характеристиках так же как и остальные параметры. поэтому создавать на 3 цвета и 3 размера 9 видимых на итрине товаров нелогично.надо что бы они склеивались например по названию в один товар, а в нем уже возможность выбора выпадающими списками.
      • 03 февраля 2013 г. , редакция: 04 февраля 2013 г.
      • Тогда - есть несколько решений
        1. Используем IDE дорабатываем напильником сами. За 5 минут этого не сделать.
        2. Заказываем расширение тут сразу скажу дёшево не получится

        Навряд ли на форуме подскажут полностью удовлетворяющее решение столь нетривиальной задачи. Потому что это разные товары с множеством различающихся параметров их можно только сгруппировать. Это даже в 1C'ке так. И каким образом будет в таком случае вестись учёт?

        Например:
        Носки мужские чёрные 41 размер = 4 пары
        Носки мужские чёрные 42 размер = 6 пары
        Носки мужские синие 41 размер = 4 пары
        Носки мужские синие 42 размер = 2 пары
        в итоге если по вашим словам это один товар всего лишь с различными параметрами то логично предположить что у вас должна быть такая запись
        Носки мужские = 16 пар
        Что получится если будут заказывать самый востребованый товар Носки мужские чёрные 42 размер = 6 пары 6 человек его купят, а перед остальными будете оправдываться, и просить подождать пока новую партию подвезут?
  • 03 февраля 2013 г.
  • А может забыть о том, что артикул это артикул и принять за артикул что-то другое. А то что есть артикул сейчас, сделать доп. характеристикой.
    Но в импорт придется лезть в любом случае.
    • 04 февраля 2013 г.
    • Если сделать так-же как я делал для шин - в импорт лезть не надо будет, надо будет просто его настроить.
  • 23 февраля 2015 г. , редакция: 23 февраля 2015 г.
  • А как быть в моем случае? Вот реальный пример из CSV:
    Код
    id; name; article; param_value; price; img_name
    7177; КПБ 100-22; 100-22; 1.5 спальный; 4076; kpb-100-22.jpg
    7177; КПБ 100-22; 100-22; 2 спальный; 5209; kpb-100-22.jpg
    7177; КПБ 100-22; 100-22; Евро; 5659; kpb-100-22.jpg
    7177; КПБ 100-22; 100-22; Семейный; 6566; kpb-100-22.jpg


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

    Для param_value создал отдельную характеристику по типу "список с выбором нескольких значений" (вписал значения как в таблице) и включил "Доступен к выбору при заказе".

    Пока смог добиться только того, чтобы вписывалась последние характеристика и цена
    • 23 февраля 2015 г.
    • То, что подсказывает Александр выше, не могу понять как использовать:
      Цитата
      001; Ботинок; белый,черный,коричневый; 32,34,39,42,45;2000,2200,1800;
      • 23 февраля 2015 г.
      • Вроде должно быть так:
        Код
        7177; КПБ 100-22; 100-22; 1.5 спальный,2 спальный,Евро,Семейный; 4076,5209,5659,6566; kpb-100-22.jpg

        Но что-то не срабатывает...
        • 23 февраля 2015 г.
        • Код
          Ошибка в строке 1: 7177; КПБ 100-22; 100-22; 1.5 спальный,2 спальный,Евро,Семейный; 4076,5209,5659,6566; kpb-100-22.jpg
          3, param: "1.5 спальный,2 спальный,Евро,Семейный" нет в списке значений
      • 23 февраля 2015 г. , редакция: 23 февраля 2015 г.
      • Вот так вообще-то получилось:
        Код
        7177; КПБ 100-22; 100-22; 1.5 спальный|2 спальный|Евро|Семейный; 4076|5209|5659|6566; kpb-100-22.jpg

        Но торчат на виду все 4 цены, бр....
        Работаю в дефолтном шаблоне.. Чего-то не хватает, бр...
        • 23 февраля 2015 г.
        • но когда вручную открыл и пересохранил товар, то зависимость пропала. Оказывается не был выставлен флажок "Влияет на цену".

          Как заставить этот флажок выставиться во время импорта???
    • 23 февраля 2015 г.
    • Цитата

      разным param_value назначается разные изображения
      /quote]
      В данной выгрузке такого нет, насколько я в курсе) А в курсе я потому, что я ее и писал
  • 23 февраля 2015 г.
  • Степан, у меня было подозрение, что это ваш проект.

    Тогда Вам вопрос, почему не работает адрес:
    http://api.textiloptom.net/v4/Api/category/2.csv?api_key=мой_ключик? Выдает ошибку, можете проверить (пробовал id других категорий). Выдается файл с содержимым:
    Код
    <br />
    <b>Notice</b>: Array to string conversion in <b>/home/admin/web/api.textiloptom.net/public_html/vendor/luracast/restler/vendor/Luracast/Restler/Format/CsvFormat.php</b> on line <b>86</b><br />
    id;products
    24;Array

    Если без ".csv", то xml выдается нормально. Но мне надо товары определенных категорий в csv.
    • 23 февраля 2015 г.
    • Потому что парсер массива в csv только до второго уровня написан, скорее всего)
      Но вы первый пытаетесь что-либо из category вывести.

      Я бы вам рекомендовал использовать метод productsValD. В этом случае получите вот так

      "Размер": "1.5 спальный|2 спальный|Евро|Семейный",
      "price_row": "3368&0&размер постельного белья=1.5 спальный|4095&0&размер постельного белья=2 спальный|4378&0&размер постельного белья=Евро|5655&0&размер постельного белья=Семейный"

      А с этим наверное уже будет проще работать


      • 24 февраля 2015 г.
      • Увы, так:
        http://api.textiloptom.net/v4/Api/productsValD.csv?api_key= ошибка 404
        Так:
        http://api.textiloptom.net/v3/Api/productsValD?api_key=
        Код
        <response><error><code>400</code><message>Bad Request: `catid` is required but missing.</message></error><debug><source>Validator.php:198 at validate stage</source><stages><success>get</success><success>route</success><success>negotiate</success><success>authenticate</success><failure>validate</failure><failure>message</failure></stages></debug></response>


        Работает только как и прежде:
        Код
        http://api.textiloptom.net/v4/Api/productsVal.csv?api_key=

        • 24 февраля 2015 г.
        • Вы песочницу видели (http://api.textiloptom.net/explorer/)?
          у этого метода параметр cat_id обязателен, о чем собственно вам и сообщают - `catid` is required but missing )
          • 24 февраля 2015 г.
          • Ну, а где в инструкции для владельцев сайтов (и их программистов - прикинусь программистом ) есть такая ссылка? Не нашел нигде.
            ЛК - там пустой. Только ссылка на FAQ совмещенный с новостями и все.
            Ах да, там еще старый pdf лежит с инструкцей, видимо тех времен, когда только v1 был...
            Сейчас гляну песочницу. Спасибо!

            • 25 февраля 2015 г.
            • Вот как раз в новостях о ней и сказано)
              ну да это точно не для этого форума, а то я представляю лица читающих это - "о чем эти 2 дурака болтают....")
              будут вопросы - пишите на почту, только уточните что вы отсюда, чтоб я понимал как разговаривать)
              • 25 февраля 2015 г.
              • а сейчас сайт тот вообще не открывается...
                Хорошо, поговорим в личке.
                Правда, Вы вроде уже почти все подсказали и могу вытаскивать товар в нужном формате из категорий.
                Проблема только была в том, что по методу productsValD можно брать данные только из конкретных категорий (и только вложенных, с верхних не берет, допустим с категории ID=2 "Постельное белье"), а вариант без указания категории хоть и описан в песочнице, но работает только если указать категорию.
              • 25 февраля 2015 г.
              • сайт заработал, действительно на /instruction есть ссылка на песочницу. Но в такой скромной новости, что заметить сложно.
  • 01 марта 2015 г. , редакция: 01 марта 2015 г.
  • Друзья! Не пойму, как заставить импортироваться цены в зависимости от характеристики, если имею вот такие данные:
    Код
    3368&0&размер постельного белья=1.5 спальный|4095&0&размер постельного белья=2 спальный|4378&0&размер постельного белья=Евро|5655&0&размер постельного белья=Семейный

    Вылезает ошибка:
    Цитата
    Ошибка в строке 1: 49082;3368&0&размер постельного белья=1.5 спальный|4095&0&размер постельного белья=2 спальный|4378&0&размер постельного белья=Евро|5655&0&размер постельного белья=Семейный
    Цена, price: Числовое значение должно содержать только цифры и разделитель целых – точку или запятую.

    Характеристике вкл. "Доступен к выбору при заказе", в настройках каталога вкл. "Учитывать остатки товаров на складе".

    Может где-то в shop.admin.import.php или в shop.admin.importexport.element.php что-то переставить местами? А то вроде как порядок данных не такой, какой у товара, если в файле данных:
    цена&количество&характеристика
    то у товара вижу:
    характеристика&цена&количество..


    • 03 марта 2015 г.
    • А настройки импорта стоят соответствующие?
      Особенно: "Разделитель данных в строке" и "Разделитель данных внутри поля"
      • 03 марта 2015 г.
      • Да. Тут со Степаном разбирались. Сайт не хочет импортировать свой же экспорт.
        Установил тестовый сайт с нуля (до этого была сборка за декабрь, обновленная до последней). Установил сайт с нуля, чуть позже займусь продолжением тестов.
        Скрины с настройками ниже:
  • 04 марта 2015 г.
  • В общем, в моем случае вот такой файл импорта работает:
    Код
    49085;"5052.00&amp;1&amp;размер постельного белья=1.5 спальный|6142.50&amp;1&amp;размер постельного белья=2 спальный|6567.00&amp;1&amp;размер постельного белья=Евро|8482.50&amp;1&amp;размер постельного белья=Семейный"

    т.е. если вместо & надо применить &amp;
    Но это разве верно, ведь у нас:
    Цитата
    Разделитель параметров, влияющих на цену, количества и валюты в пределах одного значения цены/количества - &

    Писать в багтрек?

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум