GoogleSheets. Синхронизация!
Данное обновление дает возможность синхронизировать гугл таблицу с данными сайта.

Чекбоксы синхронизации:
Чекбоксы синхронизации:
Ссылка на компонент
Ссылка на документацию
— Добавлен сниппет GoogleSheetsFront для экспорта/импорта с фронта
Параметры сниппета:
Пример:

Синхронизация ресурсов/товаров
Чекбоксы синхронизации:
- Создание (добавляет новые ресурсы в гугл таблицу)
- Обновление (обновляет ресурс, который есть в гугл таблице. Если ресурс в таблице не был найдет, то он добавляется)
- Удаление (удаляются соответствующие ресурсы в гугл таблице)
Для синхронизации используется уникальное поле, которое задано в импорте или id в экпорте.
Синхронизация заказов
Внимание! Системные настройки для сохранения заказов были удалены. Теперь для сохранения новых заказов нужно создать экспорт и активировать чекбокс 'Создание' в блоке 'Синхронизация'.Чекбоксы синхронизации:
- Создание (добавляет новый заказ в гугл таблицу)
- Обновление (обновляет заказ, который есть в гугл таблице. Например, при смене статуса заказа в адмнке обновляется статус в гугл таблице(на самом деле обновляется вся строка заказа). Если заказа не существует в гугл таблице, то он будет добавлен)
- Удаление (при удалении заказа в админке соответствующий заказ будет удален в гугл таблице).
Для синхронизации обязательно в полях экспорта должно присутствовать поле 'num'(номер заказа).
Синхронизация пользователей/покупателей
Чекбоксы синхронизации:
- Создание (добавляет нового пользователя в гугл таблицу. Например, при создание заказа создается покупатель, который будет добавлен)
- Обновление (обновляет пользователя. Добавляет пользователя в гугл таблицу, при его отсутствии в ней)
- Удаление (удаляет пользователя)
Для синхронизации обязательно в полях экспорта должно присутствовать поле 'id'(id пользователя).
Какого функционала не хватает?
- Импорт пользователей
- Импорт заказов
- Импорт/Экспорт контекстов
- Импорт/Экспорт производителей
- Свой вариант
Полезные ссылки:
Ссылка на компонент
Ссылка на документацию
UPD: Версия 1.3.2
— Добавлен сниппет GoogleSheetsFront для экспорта/импорта с фронта
Параметры сниппета:
- id — идентификатор экспорта/импорта
- mode — режим работы: export || import. По умолчанию export
Пример:
$.ajax({
url: '/assets/components/googlesheets/action.php',
type: "POST",
data: {id: 4, mode: 'export', token: 'значение системной настройки googlesheets_client_secret'},
success: function(data, textStatus, jqXHR){ console.log(data) },
dataType: 'text'
}); Комментарии: 81
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Еще при синхронизации в режиме обновления не понял зачем нужно добавление отсутствующих записей: если у меня на сайте 1000 товаров, а в таблице 10, и я хочу эти десять обновить, то вариантов у меня это сделать нет, кроме как выгружать весь скоп с сайта и чистить руками.
Добавление нужно, чтобы ресурсы в таблице соответствовали ресурсам в админке.В след. обновлении добавлю еще один чекбокс, чтобы отключать добавление.
Вот у меня 1000 разных товаров на сайте в разных категориях.
1) Мне нужно выгрузить в таблицу все которые подходят под условие (например parents=5,published=1).
2) Выгрузил (получилось, допустим 10 товаров в таблице), а потом время от времени хочу обновлять именно эти товары в таблице изменившимися данными с сайта.
Эта ситуация нужна например для формирования прайс-листа для дропшиппинга, именно поэтому желательно что бы все это дело можно было запускать по кнопке с фронта.
Над другими задачами работаю.
UPD Я в восторге
1) указать перечень tv параметров товара для выгрузки
2) выгрузить существующие товары
3) изменить в гугл таблице нужные мне данные товаров
4) добавить в гугл таблицу новые товары с параметрами
5) загрузить из этой таблицы товары с обновлением данных существующих товаров и созданием новых товаров
??
Заранее спасибо!
Авторизацию настроил, окно выдавалось, подтвердил, ключ скопировал
все настройки прописал
yadi.sk/i/mLdNmZBYQOcC2w
написано: вы авторизованы
настроил импорт
yadi.sk/i/NvdC4AplNwDPXw
но не работает…
P.S. полезно будет указать разъяснение
Импорт (загрузка из таблицы на сайт)
Экспорт (выгрузка с сайта в таблицу)
P.S. Есть документация
только сейчас додумался в консоль посмотреть
yadi.sk/i/l-f5BdWs1scv4g
но я не программист
Переустановка MODX Revolution 2.7.1-pl тоже не дает результата
Версия PHP 7.1 и 7.0
на эту строчку жалуется, верно?
Авторизовал свою таблицу. Экспорт работает!
Пробуйте авторизоваться заново. Мне приходилось вручную после каждого шага удалять папку core/cache/system_settings
обновился до актуальной версии, кеш сбросил, снова не экспортирует tv параметры товаров
context_key,id,vendor_name,parent_name,article,pagetitle,images,tv12,price, new, popular, favorite, tv78, tv11, tv9, tv7, tv28, tv25, tv10, tv8, tv6, tv27, tv26, tv1, tv57
article, pagetitle, tv.video, tv.effect, tv.timeR, tv.colibr, tv.colV, tv.transport_pack, parent_name, category_name, price, new, popular, favorite
article, pagetitle, tv12, tv7, tv10, tv11, tv9, tv54, parent_name, price, new, popular, favorite
как мне решить эту проблему? мне это очень нужно :(
вы правили файлы прямо в админке, при обновлении компонента я не затру эти доработки?
Кол-во строк: 121.
Кол-во ошибок: 0.
Кол-во созданных товаров: 0.
Кол-во обновленных товаров: 0.
Время выполнения:: 0,44807720184326s
article, pagetitle, id, tv12, tv7, tv10, tv11, tv9, tv54, parent_name, price, new, popular, favorite
по полю article
не обновляет параметры, я не пойму.
таблица доступна по ссылке
1. например, у товаров одинаковый pagetitle и разные артикулы. тогда скрипт выдает: обновлено столько-то товаров, ошибка — 1 (но не говорит в чем ошибка, товар не обновлен).
2. меняет url ранее созданных страниц, после чего нужно:
менять в базе 1С ссылку на страницу товара
или
настраивать редирект со старого url на новый (лучше, чтобы это делалось автоматически)
в общем, штука хорошая, и сильно облегчила мне жизнь.
но пока что крайне не дружелюбна к пользователю.
пользователю нужно дать обратную связь:
1) обновлены такие то артикулы
2) ошибки в таких-то строчках (ячейках)
ок. Попробую добавить в компонент
Подскажите, можно ли с помощью вашего компонента настроить обновление цен товара из Google Sheet таблицы по cron и вручную из админки?
Также подскажите, есть ли поддержка модификаций из дополнения msOptionsPrice? Планируете ли сделать? Мои товары имеют модификации и синхронизация цен модификаций была бы потрясающим решением!
1. Можно.
2. Нет поддержки msOptionsPrice. Планируется, но неизвестно когда это будет.
Судя по всему если ты меняешь данные в гугл таблице то они не импортируются на сайт если стоит синхронизация.
При рабоче с десятичными цифрами идет нестыковка: в гугле стандартно идет разделить это запятая а в modx точка, соответственно при импорте все что после запятой просто затирается.
2.Десятичные цифры протестю и поправлю. Спасибо
Ты импортируешь товар на сайт, товар меняется и эта информация допустим выгружается в другую таблицу? если так, то это же делает и вкладка Экспорт.
Настройки импорта:
parent,template,tv23,tv24,tv9,tv19,tv10,tv11,tv12,tv13,tv14,tv15,tv17,tv16,tv20,pagetitle,alias
Для опций нужно добавлять префикс opt_
Пример: для опции diameter нужно писать вот так: opt_diameter
Установил модуль по инструкции все сделано запросы в гугл идут но с ошибкой.
В чем проблема?
Скрин 1
Скрин 2
PS// Инструкция накидана пару строк и не понятно если возникает ошибка куда копать. Есть пункты что упустили и какие нужно указать подробнее
Хорошее замечание, укажу в инструкции.
Единственное пожелание — побольше примеров для старта. Потратил много времени, чтобы разобраться. Не совсем очевидно, что и откуда импортируется-экспортируется. Например, импортом можно назвать и гугл-таблица->сайт, и наоборот (смотря с какой стороны смотреть).
Подскажите, Ваш компонент делает импорт товаров в минишоп?
Вопрос к автору дополнения.
Не совсем понятно использование некоторых параметров:
1. Можно ли использовать в range выборку A:A;B:B=1? Т.е. выборку по наличии единицы в колонке «B»
2. Как использовать ignore, если диапазон игнорируемых строк больше одной, в примере нет конкретного указания с перечислением строк, т.е. если 1 до 10, то их через запятую или через дефис?
При такой конструкции выводит только слово Arrey
В гугл шитс вообще чёрт ногу сломит, информации путёвой мало, а что конкретно вы сделали в дополнении я к сожалению не понимаю многого. Тема, понятно, обширная, но примеров к сожалению мало в ликбезе, что вы предоставили(не в упрёк, а как рекомендация повышающая продажи продукта)
1. Нельзя. Но можно получить данные из таблицы и через событие и отфильтровать значения.
2.Все поля записываются через запятую, следовательно и ignore тоже через запятую.
Напишите в тех. поддержку.
Вот полная документация. И еще вот здесь
Вот не могу к Вам на сайт зайти, уже как пол года))
Постоянно офлайн.
Что может быть не так?
Подскажите пожалуйста, в какую сторону смотреть для автоматизации выгрузки?
Нужно выгрузить по времени.
Ещё вопрос, будет ли поддержка выгрузки в мерч центр Гугла?
1. Смотреть в сторону крона.
2. Да, будет, но не скоро
Имеется 2 товара «Товар 1» и «Товар 2», в каждом товаре есть модификации с параметрами цвет и вес
(пример — цвет синий, вес 5 гр.; цвет синий, вес 10 гр.; цвет красный, вес 5 гр.; цвет красный, вес 15 гр.;… и т.д.)
Необходимо экспортировать в гугл таблицу с вкладками «Товар 1 синий» «Товар 1 красный» «Товар 2 синий»… соответствующие модификации товаров. Забрать с этих вкладок данные решается просто, через стандартные настройки дополнения, а вот как выгружать определенные опции одного конкретного товара в разные вкладки, как-то не осилил. Был бы премного благодарен за подсказки.
Для сохранения данных с форм нужно добавить хук GoogleSheetsSaveForm
Подробнее здесь
Подскажите пожалуйста, можно ли как-то передать в гугл таблицы id заявки из Formit — savedForm.id?
Я использую это значение для присваивания номера заявки. Или может есть какой-то более правильный вариант нумерации заявок?
Нашел документацию. docs.modx.pro/components/googlesheets/ поправте ссылки в описании компонента на модсторе
Документация по авторизации в Гугле устарела. Исчезла опция «другие типы» при создании идентификатора клиента OAuth. Ставлю «Desktop app» или веб-приложение — при попытке авторизации пишет ошибку:
Доступ заблокирован: это приложение отправило недопустимый запрос
…
Ошибка 400: redirect_uri_mismatch
Создаем веб приложение и прописываем в google консоле uri
ваш_сайт/manager/?a=home&namespace=googlesheets
С параметром &gsRange=`opros` ломается отправка формы и указание листа для сохранения по умолчанию в настройках тоже самое.
И почему-то товары выгружает, а заказы не хочет. Есть мысли куда копать?