ГрамотаДел ГрамотаДел Express В чём разница?

Таблица-модификатор

Таблица-модификатор используется, если нужно создать одну или несколько небольших модификаций виджета «на лету», то есть при открытии страницы в браузере. Вместо того, чтобы создавать несколько разных виджетов, с примерно одинаковыми параметрами можно создать один, а некоторые параметры вынести в таблицу-модификатор. При инциализации виджета нужно указать ID этой таблицы, и виджет будет создан исходя не только из основных параметров, но и этой таблицы.

Создание таблицы-модификатора

Нужно создать обычную таблицу. Эта таблица может быть как отдельной таблицей, так и в составе документа. Имя, а так же папка может быть любыми. В таблице должно быть заполнено не менее двух столбцов: в первом - имя параметра, во втором - значение. Данные, указанные в заголовке таблицы (например, какая-либо перемення) значения не имеют. Приложение считывает только данные в первом и втором столбце первого листа таблицы.

Параметры

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

  • is_enable (0 или 1) - разрешёна ли работа виджета
  • is_point_enable (0 или 1) - разрешён ли доступ к виджету по короткой ссылке
  • domains - список доменов на которых разрешена работа виджета
  • doc_id - ID документа, в который будут сохраняться данные
  • is_auth (0 или 1 или 2) - аутентификация: 0 - Без аутентификации, 1 - по электронной почте, 2 - по номеру телефона
  • auth_list_email (0 или 1) - требуется проверка адреса электронной почты по таблице, если is_auth = 1
  • auth_list_email_doc_id (36 символов) - ID таблицы с адресами электронной почты
  • auth_list_email_column (цифра от 0) - номер колонки с адресами электронной почты, начиная с 0
  • auth_list_email_remove_row (0 или 1) - удалять строку после использования адреса
  • auth_list_phone (0 или 1) - требуется проверка номера телефона по таблице, если is_auth = 2
  • auth_list_phone_doc_id (36 символов)- ID таблицы с номерами телефонов
  • auth_list_phone_column - (цифра от 0) - номер колонки с номерами телефонов, начиная с 0
  • auth_list_phone_remove_row (0 или 1) - удалять строку после использования номера
  • one_use (0 или 1) - разрешить заполнять только один раз
  • btn (текст) - надпись на кнопке
  • title (текст) - заголовок виджета
  • description (текст) - надпись под заголовком
  • success_msg (текст) - сообщение после заполнения виджета
  • color_primary (HEX) - основной цвет
  • color_btn_text (HEX) - цвет текста основной кнопки
  • style - CSS-стили
  • variables - список всех полей виджета. Представляет собой JSON строку, содержащую ID поля, и массив значений. Массив значений имеет параметры title, help, type, col, is_required, в которых содержится заголовок, текст помощи, тип блока (input или textarea), колонка, в которую сохранять данные (по-порядку, с 0) и обязательность поля. ID поля - это уникальная 10 значная случайная строка. Пример JSON-строки для двух полей: {"vTLUg8wlpB":{"title":"ФИО","help":"Введите ФИО полностью","col":"0","type":"input", "is_required": "1"},"k5whLt5qhY":{"title":"email","help":"Адрес электронной почты","col":"1","type":"input"}}

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

Указание модификации виджета

Модификацию виджет можно задать двумя способами. Первый - добавив в URL виджета ID таблицы-модификатора. Это делается следом за ID самого виджета. И не забыть про закрывающий слеш. Например, если код виджета:

<div id="dm_widget_quiz"></div> <script src="//gramotadel.express/widgets/v1/quiz/5c374300-a82e-4793-9126-d9a9c3c46870/"></script> То с таблицей-модификатором (ID ab82b0ae-7a93-43b7-99a0-e3a0f97fe9bc) он будет выглядеть: <div id="dm_widget_quiz"></div> <script src="//gramotadel.express/widgets/v1/quiz/5c374300-a82e-4793-9126-d9a9c3c46870/ab82b0ae-7a93-43b7-99a0-e3a0f97fe9bc/"> </script>

Другой способ - это добавить ID таблицы в адресную строку, на странице в которой вставлен виджет. ID таблицы нужно вставлять в GET параметр dm_modify. Так, если адрес страницы не содержит GET параметров, то к адресной строке следует добавить ?dm_modify=ID, а если есть, то &dm_modify=ID. ID - это ID таблицы-модификатора, например ?dm_modify=ab82b0ae-7a93-43b7-99a0-e3a0f97fe9bc. При использовании виджета по ссылке ID таблицы можно так же передавать в URL. Но, модицификацию через URL следует использовать с осторожностью, так как посетитель может вручную отключить модификацию виджета, просто удалив часть URL.

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