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


Интеграция Shopkeeper4 для MODX

  • Идет работа по созданию интеграции Shopkeeper4 для MODX.
    Следить и участвовать можно здесь:
    https://github.com/andchir/modx-shopkeeper4

    План:

    • Меню категорий
    • Хлебные крошки
    • Вывод товаров
    • Фильтрация товаров
    • Страница товара
    • Вывод фото товаров и галереи
    • Сортировка товаров и изменений шаблона вывода
    • Меню соседних категорий
    • Корзина товаров
    • Оформление заказа
    • Поиск товаров
    • Мультивалютность
    • Мультиязычность
    • Страница компонента в админке
    • Билдер пакета для MODX
    • Документация

    Обновления
    28.07.2019
    Вышла бета-версия дополнения для MODX: https://modx.com/extras/package/shopkeeper4integration
    Пока нет корзины товаров. Этот функционал будет сделан как отдельное дополнение для MODX.
    Документация: https://github.com/andchir/modx-shopkeeper4/wiki

  • Вышла бета-версия дополнения для MODX: https://modx.com/extras/package/shopkeeper4integration
    Пока нет корзины товаров. Этот функционал будет сделан как отдельное дополнение для MODX.
    Документация: https://github.com/andchir/modx-shopkeeper4/wiki

  • Установил себе локально это дополнение. Но пока не могу установить MongoDB. Пока не было времени разбираться как его установить))

    Пока нет корзины товаров. Этот функционал будет сделан как отдельное дополнение для MODX.

    Можно подробнее что значит отдельное дополнение? Оно тоже будет использовать MongoDB?

  • Но пока не могу установить MongoDB. Пока не было времени разбираться как его установить))

    MongoDB устанавливается примерно так же как MySQL. Рекомендую использовать такую штуку: http://devilbox.org/.
    Также для ознакомления и при разработке можно использовать бесплатный тариф на MongoDB Atlas https://www.mongodb.com/cloud/atlas

    Можно подробнее что значит отдельное дополнение? Оно тоже будет использовать MongoDB?

    Нет, корзина будет сохраняться в БД, но использоваться будет MySQL. Просто подумал, что корзину можно сделать более универсальной, т.к. по большому счету всё равно что в ней хранить. Это просто инструмент для временного хранения каких-то данных. Там можно будет использовать плагин для того, чтобы указать какие данные хранить. Поэтому она будет не только для Shopkeeper.

 

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

  • Y

    Когда импортирую просто нажав обновить и выбрав в целом категорию выпадет ошибка Error -1 =(

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

    Ясненько =(
    В общем, я решил проблему с разделением на категории(просто с помощью python разсортировал все строки с n идентификатором в n.xml файл и импортировал по отдельности)
    Только вот с заполнением проблема.
    Старый файл был такого вида:

    <data> <Title>pagetitle</Title> </data>

    Вот так выглядит мой файл которым я хочу обновить импортированные ранее товары(не добавляя новых товаров а только собрав из файла нужные строки с данными и импортировав их к уже созданным старым файлом товарам):

    <data> <Color> <Color1/> <Color4>Brown</Color4> <Color5>Cloudy Gray</Color5> </Color> <Price>4.75</Price> <Title>Название товара</Title> <bonus_info> <bonus_info1>blabla</bonus_info1> <bonus_info2>blabla</bonus_info> </bonus_info> </data>

    Где 1 <data> на 1 строку
    Вот мой конфиг:

    <?php //разбивка по столбцам при импорте и экспорте (content|tv|category) $cf_config['content_row'] = array( //array('Title',array(3,'tv')), //array('Price',array(2,'tv')) ); //значения по умолчанию при импорте или проверка при экспорте $cf_config['imp_content_default'] = array( 'content' => array( 'deleted' => 0, 'published' => 1, 'description' => '', 'template' => 5 // ID шаблона товара //'createdon' => strtotime("now") //'publishedon' => strtotime("now") //'pub_date' => strtotime("now") //'editedby' => 1 //'editedon' => strtotime("now") ), 'tv' => array( //7 => 0 ) ); //первая строка - названия полей $cf_config['include_captions'] = true; //число товаров импортируемых за один раз (загрузка по группам). 0 - не ограничивать. $cf_config['batch_import'] = 500; //разбивать по категориям $cf_config['include_categories'] = false; //удалять дочерние категории при очистке и обновлении каталога $cf_config['delete_subcategories'] = true; //по какому полю проверять соответствие товара при обновлении. false - не проверять (очистка категории при обновлении). $cf_config['imp_chk_field'] = 'pagetitle'; //проверять соответствие товара при обновлении по значению TV. Указать ID TV. false - не проверять (очистка категории при обновлении). $cf_config['imp_chk_tvid_val'] = false; //Добавлять товары, которые не найдены при обновлении по TV (imp_chk_tvid_val) или полю (imp_chk_field) $cf_config['imp_if_not_exist'] = false; //удалять HTML-теги при экспорте $cf_config['exp_strip_tags'] = false; //автоматически генерировать псевдоним (alias) при импорте //false - выключено; true - генерировать с переводом в транслит; 'notranslit' - генерировать без перевода в транслит. $cf_config['imp_autoalias'] = false; //Изменить значения поля для всех вложенных товаров до начала импорта. //Например можно отменить публикацию для всех товаров и публиковать только те, которые есть в новом прайс-листе. //первый массив - какие поля и на какие значения менять, второй массив - условия которые нужно проверять (можно сделать пустым) $cf_config['imp_before_change'] = false;//'[{"tv.inventory":0},{}]';//'[{"published":0},{"tv.pricename":"Поставщик1"}]';//false - для отмены //удалить файл после экспорта (скачивания) $cf_config['exp_delete_file'] = false; //кодировка CSV-файла при экспорте $cf_config['exp_csv_charset'] = 'UTF-8'; //'windows-1251' //Импортировать (обновлять) пустые значения $cf_config['imp_empty'] = true; //Имя файла процессора, который использовать для импорта. Если пусто, используется стандартный процессор "import". $cf_config['imp_custom_processor'] = ''; //путь (xpath) в XML структуре до товаров $cf_config['imp_xml_itemsparent_path'] = '';//'/catalog/shop/offers'; //Структура XML файла для импорта $cf_config['imp_xml_structure'] = <<<EOF <data> <Color> <Color1>tv 10<Color1/> <Color2>tv11</Color2> <Color3>tv12</Color3> <Color3>tv13</Color3> </Color> <Price>tv4</Price> <Title>pagetitle</Title> <bonus_info> <bonus_info1>tv7</bonus_info1> <bonus_info2>tv8</bonus_info2> <bonus_info3>tv9</bonus_info3> </bonus_info> </data> EOF; //тестирование конфигурации (без записи в БД). Отчёты -> Журнал ошибок. $cf_config['imp_testmode'] = false; //функция для фильтрации значений при ИМПОРТЕ function filter_import($value_arr){ $output_arr = $value_arr; /* if(isset($output_arr['content']['pagetitle'])) $output_arr['content']['pagetitle'] = mb_strtoupper($output_arr['content']['pagetitle'], 'UTF-8'); */ return $output_arr; } //функция для фильтрации значений при ЭКСПОРТЕ function filter_export($value_arr,$doc_id=0){ $output_arr = $value_arr; //var_dump($value_arr,$output_arr); //exit; /* if(isset($output_arr['price'])) $output_arr[1] = floatval($output_arr[1]) - 200; */ return $output_arr; } ?>

    Читать далее
  • https://e-store.shopkerx.net/katalog/modx_extras/catalogfill
    В описании написано:

    XML - только импорт и только один уровень вложенности

    Это означает, что для XML категории не работают. Всё импортируется в одну категорию, которая указывается при импорте.

    Возможно, я не понял в чём конкретно проблема. Также нужно показать полный конфиг.

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

    При попытке импортировать данный файл появляется ошибка

    Error -1

    Читать далее