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


CatalogFill как правильно настроить 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 ТВ куда вам нужно импортировать.

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

 

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

  • Я запишу это в план. Но когда будет сделано, не известно. Компонент создавался для каталогов, у которых категории это ресурсы MODX. Поэтому там нужно выбирать родителя.

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

    @Andchir
    Исходя из ошибки выше:

    в ваш плагин было бы неплохо добавить проверку на существование выбранного ресурса, что-бы исключить появление данной ошибки вы собираетесь дорабатывать плагин для работы с данными MIGX db, которые не имеют связи с ресурсами, а "живут" в отдельной таблице и редактируются через CMP?

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

    @Andchir
    [23-Aug-2019 16:30:27 Europe/Moscow] PHP Fatal error: Uncaught Error: Call to a member function get() on null in /home/a0139615/domains/new.bistriki.com/public_html/core/components/catalogfill/model/catalogfill.class.php:459
    Stack trace:
    #0 /home/a0139615/domains/new.bistriki.com/public_html/core/components/catalogfill/processors/mgr/export.php(32): Catalogfill->csv_export('web')
    #1 /home/a0139615/domains/new.bistriki.com/public_html/core/model/modx/modprocessor.class.php(361): include('/home/a0139615/...')
    #2 /home/a0139615/domains/new.bistriki.com/public_html/core/model/modx/modprocessor.class.php(177): modDeprecatedProcessor->process()
    #3 /home/a0139615/domains/new.bistriki.com/public_html/core/model/modx/modx.class.php(1764): modProcessor->run()
    #4 /home/a0139615/domains/new.bistriki.com/public_html/core/model/modx/modconnectorresponse.class.php(144): modX->runProcessor('export', Array, Array)
    #5 /home/a0139615/domains/new.bistriki.com/public_html/core/model/modx/modconnectorrequest.class.php(86): modConnectorResponse->outputContent(Array)
    #6 /home/a0139615/ in /home/a0139615/domains/new.bistriki.com/public_html/core/components/catalogfill/model/catalogfill.class.php on line 459

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

    @Dolce подскажите, как решили проблему? у меня тоже самое

    Читать далее