Как реализовать функционал лайков

Для работы потребуется: Таблица с товарами и пользователями.

  1. В таблицах вам необходимо добавить следующие колонки
    • В таблице с товарами добавьте колонку в Избранном
    • В таблице пользователей добавьте колонку Избранные товары
    • После добавления колонки обновите таблицу на стороне Креатиум через повторный импорт.
  1. Добавьте форму в секцию или в блок где у вас подключена таблица с товарами.
  1. В форме должно присутствовать два поля
    1. Скрытое поле в котором должно передаваться id товара

    b. Поле импортированное по номеру 238, в данном поле включаете предзаполнение по колонке В избранном

  1. У формы выбираете действие Выполнение JavaScript кода и даете уникальное название форме, чтобы мы могли ее в дальнейшем найти в интегромате.

В редакторе все необходимые настройки завершены, переходим в Make.

  1. Включаем вебхук через Run once и ставим лайк.
  1. Теперь в Make мы получили заявку для дальнейшей работы. Добавляем ветку в роутере и задаем фильтр (нажав на ключ) по названию формы.
  1. Теперь найдем товар который пришел в заявке. Добавляем модуль Google Sheets - Search Rows, в данном модуле добавляем фильтр по id товара.

 

Так же ищем пользователя, добавляем еще один модуль Search Rows и ищем пользователя который нажал на поле

  1. Для работы с лайками нам нужно создать массив, для этого добавляем модуль Tools - Set miltiple variables

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

Порядок действий следующий:

  1. Нажимаем на модуль и выбираем Add item
  1. В поле variable name указываем название переменной, в нашем примере это “Выбравшие пользователи”
  1. Во втором поле нужно будет создать массив из строки в которой указаны id клиентов. Сначала нажимаем на шестеренку и добавляем функцию ifempty
  1. Далее внутри функции добавляем функцию split которая находится во вкладке A,
  1. Внутри split сначала добавляем колонку из таблицы с товарами, которая называется “В избранном”, после точки с запятой ставим запятую.
  1. После второй точки с запятой добавляем emptyarray

По такому же принципу создаем массив для таблицы Пользователей, для этого еще раз нужно нажать на Add item и повторить шаги из прошлой инструкции. Готовый результат на скриншоте.

  1. Добавляем еще один роутер с двумя ветками, в первой ветке добавляем условие если лайк поставлен и его надо добавить.
    • В первом поле добавляем значение из поля Лайк которое должно равняться (equal to) единице (1)
    • Нажимаем на кнопку Add a rule и добавляем условие Выбравшие пользователи из модуля Set miltiple variables не должны содержать (does not contain) id пользователя
    • Так же добавляем еще одно условие в Избранных товарах не должно быть (does not contain) id товара.

    По такой же аналогии настраиваем фильтр Удалить лайк.

    • В первом поле добавляем значение из поля Лайк которое должно равняться (equal to) единице (0)
    • В условии Выбравшие пользователи проверяем что поле содержит (contains) id пользователя
    • В условии Избранных товарах проверяем что поле содержит (contains) id товара.

 

  1. В ветке Добавить в избранное добавляете модуль 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 для обновления таблицы.

ТЕХНИЧЕСКАЯ ПОДДЕРЖКА

Не можете найти то, что ищете?

Напишите нам. на связи 24/7. Среднее время ожидания ответа: 10-15 минут. Также вы можете вступить в наш Телеграм-чат, где собралось много специалистов и пользователей.

Поддержка Creatium

Агенты ответят через 10 минут

Агенты ответят

Блог, курсы и полезные материалы 

Платформа сайтов любой сложности