Набор функций по созданию дополнительных информационных полей для пользовательского аккаунта и аккаунта компании. Разрешает создавать дополнительные поля без вмешательства в код системы.
При создании информационного поля нужно указать:
Название поля. Поле будет показываться в описании поля;
Идентификатор поля. Физическое название поля в базе данных. В названии полей не допускаются пробелы ( ), дефисы (-) или другие не буквенно-числовые символы;
Тип поля;
Приоритет - номер размещения поля по порядку. От нуля и т д.;
Шаблон - регулярное выражение, для проверки правильности ввода (например шаблон '[0-9]+ [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]+' разрешит ввести только «число-пробел-дата-пробел-число «23 2017-12-01 66» );
Подсказка - текст всплывающей подсказки, который показывается при неверном вводе;
Заполнитель - текст отображающий внутри поля, когда значение не заполнено.
В данный момент можно создавать поля следующих типов.
Строка - строка размером до 200 символов.
Числовое значение.
Список – используется для создания списков выбора фиксированных значений.
Текстовое поле.
Флаг – указание состояния информационного поля (Включено/Выключено).
- Blog
PCRE - Регулярное выражение.
- AUTOINCREMENT
ICQ - ICQ.
- URL - url
- PNONE - дополнительный телефон
EMAIL - E-mail.
Skype - Скайп.
FILE - Заливка файла на сервер.
- Рассылка - Согласие абонента на рассылку
- PHOTO - ля сохранения бинарных данных: фотографий, документов и т. д. (пока в стадии реализации).
SOCIAL NETWORK - социальные сети
При выборе типа Телеграм кнопка информации будет переправлять на профиль пользователя в Телеграм
- Crypt
Язык - выбор языка, на котором будут отправляться внешние сообщения пользователю (смс, е-мейл, телеграм и др.).
Time zone - Часовой пояс пользователя.
- Дата - дополнительное поле для внесения дат.
Для отображения полей в пользовательском интерфейсе или для изменения шаблона системы для информационных полей используются следующие обозначения %_DB_FIELD_NAME% - название поля в базе заглавными буквами
Пример:
<TABLE> <TR> <TD><b>_{ADDRESS}_:</b></TD> <TD><input type=text value='%_С_ADDRESS%' name=_С_ADDRESS></TD> </TR> </TABLE>
Видео-инструкция
Дополнительно
Добавление информационных полей: сегмент, подъезд, этаж - через Sqlcmd.
Есть риск повредить данные. Не делайте, если не понимаете, что такое INSERT и ALTER TABLE.
INSERT INTO `config` (`param`, `value`) VALUES ('ifu_segment', '0:2:Сегмент'), ('ifu_entrance', '2:0:$_ENTRANCE'), ('ifu_flor', '3:0:$_FLOR'); ALTER TABLE users_pi ADD COLUMN `_segment` smallint(5) unsigned NOT NULL DEFAULT '0'; ALTER TABLE users_pi ADD COLUMN `_entrance` varchar(120) NOT NULL DEFAULT ''; ALTER TABLE users_pi ADD COLUMN `_flor` varchar(120) NOT NULL DEFAULT '';
$conf{ATTACH2FILE}='/usr/abills/Abills/templates/attach'; | Сохранять прикрепленные файлы на диск, а не в базу. Перед сохранением система смотрит нет ли такого уже файла |
---|
Новые информационные поля в кабинете пользователя
Первым делом для того что-бы новые информационные поля заработали вам надо прописать параметр в config.pl → $conf{info_fields_new}=1; после того как вы укажете данный параметр в файле конфигурации система будет работать по новых информационных полях.
Что-бы добавить информационные поля зайдите в Настройка → Другое → Информационные поля или просто напишите в поиске по меню Информационные поля после чего вы попадете в данное меню
Поле включения новой схемы информационной полей нужно выполнить миграцию полей на новую схему, нажав на
Робота информационных полей по новой схеме показана на видео ниже