Git Product home page Git Product logo

wooms's Introduction

Интеграция МойСклад и магазинов на базе WooCommerce (WordPress)

WooMS - синхронизация, выгрузка, загрузка

ezgif com-crop

Особенности

  • Синхронизация товаров по протоколу JSON REST API
  • Загрузка категорий
  • Импорт изображений и фото по продуктам

Инструкции и документация

Вопросы и ответы

https://github.com/wpcraft-ru/wooms/issues?q=label%3Aqa

Где найти разработчиков?

Тут общие инструкции и контакты проверенных и грамотных ребят https://github.com/wpcraft-ru/wooms/wiki/Hire-Developer

Ссылки

Изменения и улучшения - changelog

https://github.com/wpcraft-ru/wooms/releases

wooms's People

Contributors

aharonyan avatar aiiddqd avatar artikus11 avatar evgrezanov avatar olaiola avatar uptimizt avatar yumashev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wooms's Issues

Может не удалять родительскую категорию?

Сейчас если мы в настройках выбрали группу из которой брать товары, то сама группа удаляется.

В целом это правильно.

Но есть ситуации когда это создает проблему.

Например: у категории было описание и картинка. Случайно выбрали не ту группу, сделали синк, поменяли. Категория, ее описание и картинка - удалены. Новая создана, но без описания и картинки. Данные потерян и восстановить их бывает не просто.

Потому можно попробовать сделать так:

  1. Старый терм не удалять, а переименовывать. Добавлять слово "На удаление"
  2. Все товары из него переносить или делать их как Uncategorized
  3. Делать его верхним

Тогда он скроется с сайта. Но удален не будет. И будет возможность потом эти данные перетащить в новые. Без потери.

Передавать вес товара из МС

Пожелание клиента

Неплохо было бы переносить вес товара из моего склада. Но там есть нюанс - в МС десятичная часть отделяется запятой, а в вордпрессе точкой. Если в вукомерс занести вес с запятой, то при сохрании вес пустой будет.

Ошибка использования хука plugins_loaded

вот это плохое решение:

add_action( 'plugins_loaded', 'wooms_check_php_and_wp_version' );

  1. оно срабатывает на сайте, а должно срабатывать только в админке
  2. по этой причине происходит излишняя нагрузка на сайт
  3. по этой причине мы ловим фатал и вынуждены подключать лишние механики через require_once ABSPATH . '/wp-admin/includes/plugin.php';

Как сделать синхронизацию доступных остатков?

Как сделать синхронизацию доступных остатков Woocommerce - МойСклад? Сейчас синхронизируются просто остатки не учитывая резерв. Мне кажется некоторое время назад синхронизировались остатки учитывая резерв. Речь идет о платной версии плагина.

Выбор группы для синка - сделать 2 уровня

Сейчас система дает выбрать только группы 1го уровня. Надо подумать над тем как сделать хотя б 2 или 3 уровня вложенности.

Есть такие Склады где нужная группа на 2м уровне.

Надо, чтобы на каждом заказе была зафиксирована настройка "резерв"

Заказ загружается в Мой Склад, но опция "доступно" не уменьшается. В техподдержке Моего Склада мне сказали, что для того, чтобы опция "доступно" уменьшалась надо, чтобы на каждом заказе была зафиксирована настройка "резерв". Сейчас этого нет.

ХД 933

Добавить хук в изменение цены

Добрый день. Есть плагин Woo MS (мой склад) на WP обычный и расширенный. Товары на моем складе в евро есть 2 цены оптом и в розницу, а нам нужно, что бы при импорте розничной цены они переводились в Бел рубли, т.е. все цены умножались на необходимый коэффициент. Какую переменную и где нужно умножить на коэффициент в файле class-import-prices.php. Спасибо

Нужно добавить хук-фильтр, который позволит менять цену более простым способом.

При синке появляется лишняя категория

Колясочные запчасти - это категория для синка с сайтом. Товаров много. И на время синка она появляется на сайте. Что пугает всех. Надо найти решение при котором она не будет появляться.

image

Дубли категорий из за отличий в символах (е и ё)

Проблема

был категория, которая уже оформлена и вроде бы она должна была связаться.
image

но почему то плагин не сумел ее распознать и создал дубль:
image

если приглядеться то разница в букве е и ё.

надо придумать как быть в таких ситуациях.

тк удаление категории в лоб в данном случае плохое решение. птм что уже есть контент и его перезабитие мб дорого стоить.

Навигация в настройках

Повысить удобство навигации в настройках.

Думаю лучше всего подойдет решение на базе летающего TOC.

обернутый в класс stuffbox где то справа.

Добавить инструкцию к выбору группы

Если выбрана группа, то надо учесть что старые товары будут помечаться как отсутствующие.
А для этого нужна инструкция к опции которая объясняет как это сделать.

Типа так:
"После включения опции, старые товары будут помечаться как отсутствующие. Чтобы они пропали с сайта нужно убедиться что включена опция управления запасами, стоит опция сокрытия отсутствующих товаров, а в виджете категорий стоит опция скрывать пустые категории. Также для ускорения можно в разделе Статуса выполнить команду пересчета Счетчиков." В идеале снабдить инструкцию ссылками на соответствующие разделы.

Кнопка "Отправить в МойСклад" в метабоксе Заказа

вижу как сделан метабокс. оч круто!
в голове сразу возникает желание "Отправить в МойСклад". и тут была бы оч кстати ссылка, которая просто ведет на страницу инструментов где можно запустить передачу.

image

Метабоксы с данными о интеграции Продукта, Категории и Заказа

для всех 3-х сущностей мы вроде бы сохраняем ссылку на МойСклад и wooms_id.
надо добавить метабокс, назвать его МойСлад и вывести туда id + ссылку на сущность в МойСклад.

это важно для тех поддержки и решения проблем. и для пользователя. чтобы он мог из Заказа, Продукта или Категории попасть на аналогичную сущность сразу в МойСклад.

Импорт услуг - первая версия

Вариант решения

В 7 версии сделано так что услуги начали попадать на сайт. Но как обычные товары.

Надо сделать так чтобы услуги залетали как виртуальные продукты.

DoD

  • продукты типа услуга из МС попадают в ИМ как виртуальные продукты
  • при синке остатков если это услуга, то продукт не помечается как не доступный

Заметки

Пожелание клиента

Есть в продаже цифровые товары (видеокурсы) по идее по ним нет остатков и это не товары, а услуги. У услуг в Моем складе нет артикула, но есть код.

Это скорее надо делать отдельным плагином, товар виртуальный

Исключить из синхронизации некоторые из категорий и подкатегорий

Вводные по проблеме

У моего клиента, использующего платную версию плагина WooMS XT, возникла потребность исключить из синхронизации некоторые из категорий и подкатегорий в МойСклад.

на складе имеется 8 категории, из них 6 актуальны, а 2 категории не нужны на сайте. Какая кнопка в плагине отвечает за скрытие ненужных категорий.

Обходное решение - рекомендуется

Можно все нужные группы/категории разместить в 1 родительской категории и выбрать ее.
Для большинства бизнесов это решение подходит и не требует сложных настроек.

Решение в лоб через программирование

Добавлен хук фильтр в цикл загрузки данных по ассортименту:

$i = 0;
foreach ( $data['rows'] as $key => $value ) {
  if( apply_filters('wooms_skip_product_import', false, $value) ){
    continue;
  }
  do_action( 'wooms_product_import_row', $value, $key, $data );
  $i ++;
}

Можно использовать так:

add_filter('wooms_skip_product_import', function($skip, $value){
      $list_paths = array(
        'Регулируемые части/Подножки и регуляторы подножки',
        'Колясочные запчасти',
      );

      $pathName = $value['pathName'];

      foreach ($list_paths as $path) {
        if(strpos($pathName, $path) !== false ){
          return true;
        }
      }

      do_action( 'cl', array( 'что в $value?', $skip, $value ) );
      return $skip;
}, 10, 2);

Делаем список путей, и если у товара есть совпадение по такому пути, то пропускается импорт.

После обновления метки пропали

Еще я в woocommerce некоторым товарам присвоил метки, после обновления метки пропали. Как сделать так, чтобы метки сохранялись, или их каким-то образом нужно присваивать в мой склад ?

ХД 1153

Не передаются Заказы без email

Время от времени попадаются проблемы когда заказы не создаются.

Оказывается что некоторые магазины отключают поле email.

Надо придумать опцию, которая будет генерить email из телефона.

Например телефон 8 111 111 22 33, генерится email [email protected]
Либо отключить у таких Заказов проверку на дубль клиента. Опять же как опция.

Чистка не видна в консоли

Есть ощущение что после завершения всех волкеров, идет чистка, но информации о том что она происходит в консоли нет.

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

Есть идеи?

Создалась старшая категория

на сайте выбрана группа Колясочные запчасти для синка с магазином

все было ок, но с утра все товары пропали, а когда попытались повторить обмен то она появилась на сайте:
image

Проверка текущей версии WooMS XT через WooMS

в WooMS в коммент где название плагина надо добавить параметр: Latest WooMS XT: 2.01

и далее в WooMS XT проверять этот параметр свяретья с текущей версией и если есть отрыв то сообщать что вышла новая версия WooMS XT.

делать это только на странице plugins. не стоит такое вешать на admin init

Переименовать WooMS Extra в WooMS XT

XT - сокращение от Extansion. Типа расширенная версия. Для краткости.
Надо переименовать это в ГитЛаб. Сообщить мне, далее я переименую страницы на wpcraft.ru

Не синхронизириет картинки если поменять в моем складе

Проблема

Не синхронизириет картинки если поменять в моем складе. Картинку у товара, который синхронизирован был уже - не меняет, при замене ее в МойСклад.
Как решить этот вопрос?

Решение

нужно добавить опцию, при которой подменять картинки если поменялись

ХД

894, 838, 1031

Снизить нагрузку на БД

Решения

  • убрать множество product->save() и др save операций
  • передавать объект в хуке
  • чтобы вспомогательные хуки его меняли
  • сохранять 1 раз на 1 объект за сессию

Проблема

Плагин создает много обращений к БД MySQL на каталоге в 1000 товаров.
Надо подумать над оптимизацией. Минимизировать нагрузку на БД.

Отключаем ежедневный синк товаров и нагрузка падает. См снимок.

image

Опция - Всегда заменять описание на Сайте данными из Склада

сейчас Описание продукта обновляется из Склада только если на Сайте пустое.
Если же на Сайте что то есть, то из ничего не обновляется.
Это правильно по умолчанию.
Но есть те кто описание правит на Складе.

для таких нужна опция "Менять описание на Сайте" и добавить что описание будет всегда перетираться тем что на Складе.

Затираются картинки у атрибутов которые создаются плагином WooCommerce Variation Swatches

Доп инфу выясняем.

Но надо проверить на предмет перезаписи атрибутов.

upd 20180910:

  • прилепил файл с плагином
  • надо проверить это ошибка нашего плагина или особенность работы доп плагина
  • если наша ошибка - поправить
  • если особенность плагина - предложить стоимость доработки

ХД 856

Синк доп полей без модификаций

Ранее этот функционал был, но потом вроде как убрали.

Бывают товары с доп полями. Например товар Книга и у нее год выпуска - 2018. А также Автор и Издание. Тоже могут быть как доп поля.

Эти доп поля надо синкать как атрибуты в WooCommerce.

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

ХД 1224

Переключатель для импорта описания товаров

Пожелание клиента

В вукомерсе есть обычное описание товара и короткое описание. Некоторые темы выводят обычное описание, а некоторые короткое. Можно сделать выбор, какое описание использовать? То есть в Моем складе заполнено поле "Описание", а в вашем плагине выбираем, куда оно будет попадать, в полное описание или в короткое.

`

МойСклад добавил возможность загрузки нескольких фотографий.

Проблема

В МойСклад появилась возможность указать множество картинок у товара. Но плагин загружает только одну.

Решение

В текущей версии протокола обмена этой возможности нет. В новой версии появится. Ждем выхода новой версии.

Как быть?

Пока можно добавлять картинки на сайте. Многие вообще не используют хранение картинок в МойСклад. А хранят их на сайте. Так выше качество и больше возможностей делать более красивое оформление.

ХД 838, 823

Атрибуты, должны сохраняться как Общие, так и Индивидуальные

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

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

Нужно придумать какую-то опцию, которая позволит указать какие атрибуты сохранять как общие.

ХД 688

Решение

  • нужно добавить на стороне Сайта общие атрибуты с таким же Названием
  • далее плагин при обмене данными будет провероять наличие атрибута по Названию
  • если общий атрибут есть - будет использоваться он
  • если общего атрибута нет - будет как раньше использоваться Индивидуальный на уровне Продукта

Задвоение продуктов

при этом один продукт помечен как Нет в наличии, а второй в наличии.
wooms_id у обоих одинаковый. например 27998481-9193-11e7-6b01-4b1d003bf072

это значит что в волкере, там где есть метод получения по wooms_id что то пошло не так.

image

Исключение отдельных товаров

Предложение клиентов

Реализовать возможность исключения товаров из синхронизации при повторных синках.

Вариант реализации: Поле где указывается ID нужных товаров. Id берутся из инфометабоксов

Изменения в иерархии групп и категорий - ошибка синка

Вчера в моем складе бли произведены изменения в иерархии категорий товара и добавлены некоторые новые товары. После синхронизации изменений на сайте не нашел, перенесенная категория на старом месте, новых товаров в ней нет.
Хотел уточнить, правильно ли я понимаю, что после синхронизации категория в woocommerce должна была занять правильное место (стать подкатегорией) и в ней должны были появиться новые внесенные и помещенные на склад товары. Или же требуются вручную переносить категорию, а может удалить все товары и запустить синхронизацию снова?

ХД 1153

В комментарий к заказу добавлять ссылку на Заказ с Сайта

проверить передается ли сейчас ссылка на Заказ с Сайта в поле Комментарий на стороне Склада.

как минимум точно не передается при тестировании этого кейса #43

провеорить, поправить.

Важно чтобы я из Склада при просмотре Заказа, мог нырнуть в Сайт и там поработать.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.