Последние темы


CatalogFill как правильно настроить XML для импорта?

  • Здравствуйте.
    Купил компонент CatalogFill. Подготовил json файл для импорта однако как я потом понял - можно импортировать только из xml, csv или xls\x. После долгих мучений конвертировал(2 гб json файл в 1 гб xml) но онлайн конвертер говорит делать:

    <Big_Images></Big_Images>
    <Big_Images></Big_Images>

    и т.д. А dicttoxml(библиотека которой я переносил) сделала так:

    <Big_Images type="list">
    <item type="str"></item>
    </Big_Images>

    Вопрос: как в xml должно выглядеть json свойство у которого несколько значений(массив)??
    Приблизительно такого вида {"BigImage": ["image1","image2","image3" "(пустое место)" "image5"]} И как после этого доставать из tv поля это значение? Пример: [[*BigImage]][0]

    Буду благодарен за любую помощь.

  • Купил компонент CatalogFill. Подготовил json файл для импорта однако как я потом понял - можно импортировать только из xml, csv или xls\x. После долгих мучений конвертировал(2 гб json файл в 1 гб xml)

    Зачем этот флуд? В описании компонента написано какие файлы он поддерживает.

    Правильно ли я понимаю, что JSON нужен для ТВ, с типом ввода MIGX? Почему был выбран именно формат XML?

    http://forum.modx-shopkeeper.ru/topic/15/рекомендации-по-оформлению-темы-с-вопросом

  • Я имел ввиду, что разные конвертеры конвертируют по разному и спросил - как должен выглядить json массив(данный в теме) после конвертации в xml?

  • И также - как нужно вызывать элемент массива(нигде не нашел как работать с tv-массивами =( )

  • Участник @Tanik написал в CatalogFill как правильно настроить XML для импорта?:

    Я имел ввиду, что разные конвертеры конвертируют по разному и спросил - как должен выглядить json массив(данный в теме) после конвертации в xml?

    Я думаю вам сначала нужно создать сайт, а потом уже думать про импорт. Тогда будет понятно как его настроить. Пока такое ощущение, что вы хотите чтобы компонент Импорта вам сам создал сайт, но он только импортирует данные.

    И также - как нужно вызывать элемент массива(нигде не нашел как работать с tv-массивами =( )

    А этот вопрос не относится к импорту. Пока очень мало информации. Вы переносите сайт на MODX с другого движка? Если нужна фото галерея, то для этого на MODX есть много компонентов. Например, можно использовать MIGX.

  • У меня уже есть сайт - интернет магазин. Я уже пробовал импортировать данные(через csv) и у меня вышло, но сейчас данных намного больше и они очень специфические(в одном tv должен быть html код в другом несколько путей к картинкам и т.д.) так что думаю csv или xls\х будут плохим выбором.
    По-этому и выбрал xml.

  • но сейчас данных намного больше и они очень специфические(в одном tv должен быть html код в другом несколько путей к картинкам и т.д.)

    Перед тем как импортировать, нужно сконвертировать данные в тот вид, в котором они у вас есть на сайте. Но про это вы не даете никакой информации.

  • на месте image1 и т.д. у меня в файле либо http:// и путь к картинке либо /assets/templates/img/image1.jpg если вы про это

  • Про скачивание картинок вот тема:
    http://forum.modx-shopkeeper.ru/topic/1247/catalogfill-и-изображения

  • вот как выглядит строка (1 товар) в моем json файле
    {"Big Images": ["/assets/templates/img/img1.jpg", "/assets/templates/img/img2.jpg", "/assets/templates/img/img3.jpg"], "Small Images": ["/assets/templates/img/small_img1.jpg", "/assets/templates/img/small_img2.jpg", "/assets/templates/img/small_img3.jpg"], "Title": ["Iphone 7"], "Summary": [], "Price": ["499.99"], "Color": ["", "Red", "Pink", "Gray"], "Main Info": ["здесь много различного Html кода"], "Package Weight": []}

    Как она должна выглядеть в формате xml что бы при импортировании все было ок?

  • За ссылку по скачивании картинок отдельное спасибо 😃

  • Как она должна выглядеть в формате xml что бы все было ок?

    Зависит от того как вы потом будете это всё выводить на вашем сайте.

    "Main Info": ["здесь много различного Html кода"],

    XLS тоже нормально поддерживает HTML код, а вот с CSV могут быть проблемы.

  • Вот пример из одного из конфигов, которые есть в комплекте к компоненту:

    //Структура XML файла для импорта
    $cf_config['imp_xml_structure'] = <<<EOF
    <Good>
        <Kod>tv8</Kod>
        <Name>pagetitle</Name>
        <Options>
            <Stock>tv5</Stock>
            <Image>tv2</Image>
        </Options>
        <Prices>
            <RegularPrice>tv1</RegularPrice>
            <OldPrice>tv20</OldPrice>
        </Prices>
    </Good>
    EOF;
    

    Что тут непонятного? Вместо этого кода вы копируете свой XML и вместо данных вставляете имя поля или "tv20", где 20 - это ID ТВ параметра.

  • Просто буду в нужных местах вставлять [[*название tv]] тоесть на месте названия товара [[*Title]] и т.д. Html буду импортировать как код, внутри определенного дива на сайте. (будет отвечать за описания)

  • Основная проблема в картинках. Их в 1 товаре у меня от 0 до 10. Поэтому я их сложил в 1 Big Images в качестве массива.
    На сайте мне надо в 1 блоке вызвать первое значение массива Big Images(первую картинку), во втором вторую и т.д. А когда картинки заканчиваются - Не показывать блок с картинкой(это я уже сделал).
    Так вот - я не понимаю как правильно в XML должны выглядеть Big Images(сравнение как конвертирует онлайн конвертер и python библиотека в шапке).
    Какой из вариантов корректный:
    <Big_Images>tv первой картинки</Big_Images>
    <Big_Images>tv второй картинки</Big_Images>
    <Big_Images>tv третьей картинки</Big_Images>

    или

    <Big_Images type="list">
    <item type="str">tv первой картинки</item>
    <item type="str">tv второй картинки</item>
    <item type="str">tv третьей картинки</item>
    </Big_Images>

  • это я уже сделал

    И как вы это сделали? В каком виде данные вам нужны?

    Я жду от вас информацию:
    вот в таком виде данные у меня на сайте: ...
    а вот в таком виде данные у меня в файле, который хочу импортировать: ... (лучше показать в обоих форматах JSON и XML)

  • Участник @Tanik написал в CatalogFill как правильно настроить XML для импорта?:

    <Big_Images>tv первой картинки</Big_Images>
    <Big_Images>tv второй картинки</Big_Images>
    <Big_Images>tv третьей картинки</Big_Images>

    Самый простой способ это для каждой картинки создать отдельный ТВ параметр. В этом случае ваш код XML в конфиге будет выглядеть:

    //Структура XML файла для импорта
    $cf_config['imp_xml_structure'] = <<<EOF
    ... тут остальной код
    
    <Big_Images>tv10</Big_Images>
    <Big_Images>tv11</Big_Images>
    <Big_Images>tv12</Big_Images>
    
    ... тут остальной код
    EOF;
    

    10, 11, 12 - ID ТВ куда вам нужно импортировать.

  • Я уж было подготовил ответ, но вы уже ответили на мой вопрос.
    Как раз то что надо
    Большое спасибо!

 

Последние комментарии

  • Начать нужно с документации. Потом открыть файл конфигурации. Потом можно на форуме почитать темы, связанные с CatalogFill.

    Читать далее
  • R

    А как это сделать? Прошу прощения за тупые вопросы, но как я уже писал, я в этом не разбираюсь. Там тоже нужно настраивать файл конфигурации?

    Читать далее
  • Я тоже не знаю как это сделать. Компонент на такое не рассчитан. Можно конвертировать значение в нужный вам формат через функцию "filter_import".

    Читать далее
  • R

    Вы правы я даже не пытался потому что я в этом новичок и профан, я совершенно не понимаю что нужно править в конфигурационных файлах. Я готов заплатить за то что бы вы как специалист мне помогли и настроили все что нужно. Скрин прайслиста прилагаю. Если нужно еще что то предоставить напишите пожалуйста что нужно, потому что как я уже сказал я не разбираюсь в том что вам необходимо для того что бы оказать мне помощь. 0_1568555336747_123.jpg

    Читать далее