Для работы потребуется: Таблица с товарами и пользователями.
- В таблицах вам необходимо добавить следующие колонки
- В таблице с товарами добавьте колонку в Избранном
- В таблице пользователей добавьте колонку Избранные товары
- После добавления колонки обновите таблицу на стороне Креатиум через повторный импорт.
- Добавьте форму в секцию или в блок где у вас подключена таблица с товарами.
- В форме должно присутствовать два поля
- Скрытое поле в котором должно передаваться id товара
- У формы выбираете действие Выполнение JavaScript кода и даете уникальное название форме, чтобы мы могли ее в дальнейшем найти в интегромате.
b. Поле импортированное по номеру 238, в данном поле включаете предзаполнение по колонке В избранном
В редакторе все необходимые настройки завершены, переходим в интегромат.
- Включаем вебхук через Run once и ставим лайк.
- Теперь в интегромате мы получили заявку для дальнейшей работы. Добавляем ветку в роутере и задаем фильтр (нажав на ключ) по названию формы.
- Теперь найдем товар который пришел в заявке. Добавляем модуль Google Sheets - Search Rows, в данном модуле добавляем фильтр по id товара.
Так же ищем пользователя, добавляем еще один модуль Search Rows и ищем пользователя который нажал на поле
- Для работы с лайками нам нужно создать массив, для этого добавляем модуль Tools - Set miltiple variables
Теперь нам нужно будет создать два массива, в первом массиве будут собраны id пользователей для таблицы с товарами, а во втором массиве будут указаны id товаров.
Порядок действий следующий:
- Нажимаем на модуль и выбираем Add item
- В поле variable name указываем название переменной, в нашем примере это “Выбравшие пользователи”
- Во втором поле нужно будет создать массив из строки в которой указаны id клиентов. Сначала нажимаем на шестеренку и добавляем функцию ifempty
- Далее внутри функции добавляем функцию split которая находится во вкладке A,
- Внутри split сначала добавляем колонку из таблицы с товарами, которая называется “В избранном”, после точки с запятой ставим запятую.
- После второй точки с запятой добавляем emptyarray
По такому же принципу создаем массив для таблицы Пользователей, для этого еще раз нужно нажать на Add item и повторить шаги из прошлой инструкции. Готовый результат на скриншоте.
- Добавляем еще один роутер с двумя ветками, в первой ветке добавляем условие если лайк поставлен и его надо добавить.
- В первом поле добавляем значение из поля Лайк которое должно равняться (equal to) единице (1)
- Нажимаем на кнопку Add a rule и добавляем условие Выбравшие пользователи из модуля Set miltiple variables не должны содержать (does not contain) id пользователя
- Так же добавляем еще одно условие в Избранных товарах не должно быть (does not contain) id товара.
- В первом поле добавляем значение из поля Лайк которое должно равняться (equal to) единице (0)
- В условии Выбравшие пользователи проверяем что поле содержит (contains) id пользователя
- В условии Избранных товарах проверяем что поле содержит (contains) id товара.
- В ветке Добавить в избранное добавляете модуль Google Sheets - Update Row, выбираем таблицу Товары и в поле Row Number добавляется Row number модуля с товаром. В строке В избранном добавляете следующую конструкцию
- Нажимаем на иконку таблицы и выбираем join
- Внутри join добавляем add, после этого в add добавляем значение из модуля в котором мы создавали массив в шаге 8.
- После точки запятой добавляем id пользователя.
- После следующей точки с запятой ставим запятую пробел и слово space которое находится во вкладке A
По такой же аналогии настраиваем фильтр Удалить лайк.
После модуля с товарами добавляем еще один модуль Update a Row и подключаем к ней таблицу пользователи.
В поле Избранные товары добавляем такую же формулу, только заменяете Выбравшие пользователи на Избранные товары, и вместо id пользователя добавляете id товара
После этого дублируем два модуля. Для этого зажмите правую клавишу мыши и нажмите на модуль. Появится всплывающее меню, в данном меню выбираете clone.
Скопированные модули переносим в ветку Удаления лайка. Откройте каждый модуль и замените в поле слово add на remove. Не забудьте сохранить изменения.
После каждого модуля добавляете модуль http для обновления таблицы.