GoogleSheets

Компонент для работы с Google таблицами.
Автор дополнения
Boshnik
Пакетов
2
Закачек
5
Автор дополнения
Пакетов
2
Закачек
5
Версия 1.1.0-pl
Дата выпуска 30.10.2018
Загрузки 1
Просмотры 278
Внимание, этот компонент требует версию PHP 5.6 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.6 !
Возможности
  • Cохранение форм
  • Cохранение заказов (minishop2)
  • Импорт ресурсов / товаров (minishop2)
  • Выгрузка данных из таблицы

Сниппеты
  • GoogleSheets (выгружает данные из таблицы)
  • GoogleSheetsSaveForm (хук для формы, для сохранение результатов)

Плагины
  • GoogleSheetsSaveOrder (плагин для сохранения заказов minishop2)
  • modifierTable (модификатор table)

Инструкция авторизации
1. Создаем проект
2. Создаем API ключ
  1. Выбираем API и сервисы
  2. Жмакаем Учетные данные.
  3. Переходим во вкладку «Окно запроса доступа OAuth»
  4. Придумываем и затем записываем название приложения
  5. Создаем учетные данные -> выбираем «Идентификатор клиента OAuth»
  6. Тип приложения = Другие типы
  7. Жмакаем кнопку создать
  8. Получаем client_id (Идентификатор клиента) и client_secret (Секрет клиента)
  9. Переходим в библиотеку API и включаем Google Sheets API
3. Записываем в системные настройки googlesheets_client_id = client_id и googlesheets_client_secret = client_secret
4. Переходим в верхнее меню: Приложения -> GoogleSheets
5. Жмакаем на кнопку справа «Авторизация»
6. Открывается новая вкладка для получения кода авторизации(если не открылась, значит всплывающие окна заблокированы, разблокируйте их)
7. Копируем код авторизации и записываем его в системную настройку googlesheets_auth_code
8. Жмакаем еще раз на кнопку «Авторизация» (см. п. 4,5)
9. Если не увидели сообщения, что Вы успешно авторизованы, значит что-то пошло не так или Вы где-то ошиблись.

Примеры:
### Сохранение данных с формы
{'!AjaxForm' | snippet: [
    'hooks' => 'spam,GoogleSheetsSaveForm,FormItSaveForm',
    'googleSheetsUri' => 'https://docs.google.com/spreadsheets/d/16eyRFL94Dtqm8hh0lBXVIpKGbw/edit#gid=0',
    'googleSheetsRange' => 'Data',
    'formFields' => 'name,email,message',
    'form' => 'tpl.AjaxForm.example'
]}

Чтобы сохранить данные из формы, нужно:
  1. Добавить хук GoogleSheetsSaveForm
  2. Добавить параметр googleSheetsUri = url таблицы
  3. Добавить параметр googleSheetsRange = название листа таблицы. Не название таблицы, а листа(находится внизу).
  4. Добавить параметр formFields = список полей для сохранения, через запятую
  5. Заполнить системную настройку googlesheets_form_fields = список полей, которые находятся в гугл таблице, через запятую.

Сохранение заказов
Переходим в системные настройки компонента.
— googlesheets_order_save = Да/Нет(сохранять заказы или нет)
— googlesheets_order_table = ссылка таблицы, в которую будем сохранять заказы
— googlesheets_order_range = лист таблицы
— googlesheets_order_fields = список полей для сохранения. Сохраняется по порядку.

Вывод заказов.
1. В виде таблицы. Используется модификатор table.
P.S. Сниппет GoogleSheets возвращает результат в виде массива.
<div class="table-responsive">
{'!GoogleSheets' | snippet: [
    'table' => 'https://docs.google.com/spreadsheets/d/16eyRFL94Dtqm8QQjYzwGbw/edit#gid=2059149967',
    'range' => 'Order'
] | table: 'table table-hover'}
</div>


2. Вывод заказов через шаблон(то есть, чанк)
P.S. Первая строка таблицы = название переменных.
<ul>
{'!GoogleSheets' | snippet: [
    'table' => 'https://docs.google.com/spreadsheets/d/16eyRFL94Dtqm8QpKGbw/edit#gid=2059149967',
    'range' => 'Order'
    'tpl' => '@INLINE <li>{$receiver} - {$email}</li>'
]}
<ul>


Импорт ресурсов / товаров
1. Переходим в верхнее меню Приложения -> GoogleSheets
2. Жмакаем на создать импорт.
3. Заполняем все поля:
— URl таблицы
— Лист (название листа таблицы)
— Тип ресурса (modResource || msProduct)
— Уникальное поле, по которому будет проверяется ресурс/товар.
— Настройка импорта ( Default || Create || Update)
-
  • Default(создает новые ресурсы и обновляет существующие)
  • Create (только создает новые ресурсы)
  • Update (только обновляет ресурсы)
4. Жмакаем правой кнопкой на необходимой строке (импорте) и импортируем данные.

P.S. Первая строчка в гугл таблице = название полей ресурса.
Если уникальное поле не было создано в таблице, значит будет создан новый ресурс. Но если ресурс с таким названием уже есть, то ресурс не будет создан.

Список изменений

1.1.0-pl

  • Добавлен плагин для сохранение заказов minishop2
  • Добавлен импорт товаров minishop2
  • Добавлены сообщение о кол-во обновленных и созданных ресурсов
  • Добавлены настройки импорта
  • Добавлены лексиконы
  • Добавлен модификатор table

1.0.1-pl

  • Добавлена защита дополнения

1.0.0-pl

  • Первый релиз

Последние обсуждения в сообществе MODX.pro