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

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

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

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

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

Параметры

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

  • is_enable (0 или 1) - разрешёна ли работа виджета
  • is_point_enable (0 или 1) - разрешён ли доступ к виджету по короткой ссылке
  • domains - список доменов на которых разрешена работа виджета
  • doc_id - ID документа, который будет использоваться для создания файлов
  • folder_id (36 символов) - ID папки для создания файлов
  • mail_id (36 символов) - ID шаблона письма для отправки файла
  • email_self (0 или 1) - отправлять себе файл после создания
  • email_self_template (36 символов) - 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_file (0 или 1) - разрешить создание только одного файла (если is_auth = 1 или 2)
  • is_share (0 или 1) - показывать ли блок «Поделиться»
  • share_title_block (текст) - заголовок блока
  • share_title (текст) - заголовок в окне публикации
  • share_description (текст) - описание в окне публикации
  • share_link (текст) - страница, которая будет открываться при переходе по ссылке
  • btn (текст) - надпись на кнопке создания
  • title (текст) - заголовок виджета
  • description (текст) - надпись под заголовком
  • success_msg (текст) - сообщение после создания файла
  • color_primary (HEX) - основной цвет
  • color_btn_text (HEX) - цвет текста основной кнопки
  • style - CSS-стили
  • variables - список всех полей виджета. Представляет собой JSON строку, содержащую ID поля, и массив значений. Массив значений имеет параметры title, help, type, variable, is_required, в которых содержится заголовок, текст помощи, тип блока (input или textarea), переменную, в которую сохранять данные и обязательность поля. ID поля - это уникальная 10 значная случайная строка. Пример JSON-строки для двух полей: {"vTLUg8wlpB":{"title":"ФИО","help":"Введите ФИО полностью","variable":"%фио","type":"input", "is_required": "1"},"k5whLt5qhY":{"title":"email","help":"Адрес электронной почты","variable":"%email","type":"input"}}
  • переменные: в файл могут быть добавлены любые переменные для подстановки данных или отправки письма. Эти переменные нужно просто добавить в таблицу (каждая переменная начинается со знака %)

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

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

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

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

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