Таблица-модификатор
Таблица-модификатор используется, если нужно создать одну или несколько небольших модификаций виджета «на лету», то есть при открытии страницы в браузере. Вместо того, чтобы создавать несколько разных виджетов, с примерно одинаковыми параметрами можно создать один, а некоторые параметры вынести в таблицу-модификатор. При инциализации виджета нужно указать 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 самого виджета. И не забыть про закрывающий слеш. Например, если код виджета:
Другой способ - это добавить 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.
Таким образом можно создать несколько разных таблиц с модификациями одного виджета и использовать на сайте виджеты с разными параметрами. Плюс такого подхода в том, что если потребуется внести какие-либо глобальные изменения во все виджеты, то не нужно менять все виджеты, если бы вместо таблицы-модификаторов были бы просто множество виджетов.