4.2.1. Элементы ввода данных на формах

Data Source Eng Data Source (incomplete)

На каждой, использующейся в административной консоли, форме встречаются элементы ввода. Элементы ввода являются одним из основных способов редактирования записей из базы данных. Все упомянутые в данной статье элементы ввода объявлены в шаблоне incs/form_blocks.tpl. Каждый элемент состоит из 2 частей - левой и правой. В левой части находиться:

  • название поля;

  • пометка о том, что поле является обязательным к заполнению;

  • дополнительные кнопки (напр. открытия FCKEditor);

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

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

параметр

описание

prefix (string)

В данном параметре задаётся префикс того unit config, чья запись будет редактироваться на форме.

field (string)

Название поля (из базы данных или виртуального), значение которого будет показано или будет редактироваться в этом блоке.

title (string)

Название фразы, перевод которой будет отображён в левой части блока в качестве названия поля для пользователей. Согласно правилам назначения имён название фразы должно начинаться с la_fld_.

is_last (int)

Данный параметр позволяет указать, что этот элемент на форме является последним. Обычно такие элементы оформляются специальным образом.

inp_label

Данный блок предназначен для вывода значения какого либо поля, без возможности его редактирования на форме.

параметр

описание

hint_label (string)

Название фразы, перевод которой должен быть показан в качестве подсказки справа от поля ввода.

as_label (int)

Если данный параметр установлен, то значение в поле будет интерпретировано как название фразы и будет переведено перед отображением на форме.

currency (string)

Для полей, содержащих цену позволяет задать ISO код валюты, в которой нужно показывать значение данного поля (значение автоматически пересчитывается в зависимости от куса указанной валюты к курсу основной валюты сайта). Также можно передать значение selected, что приведёт к тому, что цена будет выводиться в валюте, которую выбрал пользователь. Например будет выведено USD 15.11, когда в базе данных будет значение 15.11.

style (string)

Оформление поля с помощью стандартных стилей (HTML элемент).

format (string)

Данный параметр позволяет задать другой формат вывода данных для поля. Формат, переданный в блоке, является более приоритетным, чем формат указанный в unit config.

nl2br (int)

При передаче данного параметра на выводимое значение будет применена функция nl2br.

no_special (int)

Добавлено в версии 5.0.0.

При передаче данного параметра на выводимое значение не будет применена функция htmlspecialchars.

inp_id_label

Данный блок полностью идентичен функциональности блоку inp_label, но результат работы блока будет виден на форме только тогда, когда в поле будет значение. Этот блок обычно используется для отображения значения основного поля (primary key) таблицы.

inp_edit_box

image1 Простой edit box (<input type="text">).

параметр

описание

subfield (string)

Может служить для обработки массива хранящегося в базе данных в сериализованного виде. Например на форме ввода находиться несколько inp_edit_box но с разными значениям данного параметра. Написав соответствующий метод для обработки полей, результат ввода данных можно будет сохранить в одном поле базы данных. Пример можно найти в In-Portal в секции Configuration -> Stylesheets -> Edit.

class (string)

Указывается стилевой класс для отображения поля ввода (HTML элемент).

format (string)

Данный параметр позволяет задать другой формат вывода данных для поля. Формат, переданный в блоке, является более приоритетным, чем формат указанный в unit config.

maxlength (int)

Максимальное количество символов, вводимых в текстовом поле (HTML элемент). По умолчанию не задано.

onblur (string)

Позволяет задать обработчик события onblur (HTML элемент).

size (int)

Ширина поля ввода в символах (HTML элемент).

onkeyup (string)

Позволяет задать обработчик события onkeyup (HTML элемент).

onchange (string)

Позволяет задать обработчик события onchange (HTML элемент).

style (string)

Оформление поля с помощью стандартных стилей (HTML элемент).

hint_label (string)

Название фразы, перевод которой должен быть показан в качестве подсказки справа от поля ввода.

inp_edit_box_ml

image2 Простой edit box, но с кнопкой открытия всплывающего окна (popup) для ввода значения поля на других языках. Используется для многоязычных сайтов (<input type="text">).

параметр

описание

class (string)

Указывается стилевой класс для отображения поля ввода (HTML элемент).

size (int)

Ширина поля ввода в символах (HTML элемент).

maxlength (int)

Максимальное количество символов, вводимых в текстовом поле (HTML элемент). По умолчанию не задано.

style (string)

Оформление поля с помощью стандартных стилей (HTML элемент).

onblur (string)

Позволяет задать обработчик события onblur (HTML элемент).

inp_edit_password

image3 Поле для ввода пароля (<input type="password">).

параметр

описание

class (string)

Указывается стилевой класс для отображения поля ввода (HTML элемент).

size (int)

Ширина поля ввода в символах (HTML элемент).

style (string)

Оформление поля с помощью стандартных стилей (HTML элемент).

hint_label (string)

Название фразы, перевод которой должен быть показан в качестве подсказки справа от поля ввода.

inp_edit_upload

image4 Используется для загрузки (upload) одного файла (<input type="file">).

параметр

описание

class (string)

Указывается стилевой класс для отображения поля ввода (HTML элемент).

size (int)

Ширина поля ввода в символах (HTML элемент).

style (string)

Оформление поля с помощью стандартных стилей (HTML элемент). Для данного блока по умолчанию равно width: 100%; height: 45px;.

thumbnail (bool)

Добавлено в версии 5.0.0.

Показывать пиктограмму загруженного изображения. Параметр имеет смысл использовать, когда заранее известно, что в поле будут загружаться изображения.

inp_edit_hidden

(<input type="hidden">)

параметр

описание

db (int)

Если данный параметр передан, то значение в поле не будет обработано форматером перед выводом на экран.

inp_edit_date

image5 Используется для ввода даты, в указанном при настройке поля, формате (<input type="text">).

параметр

описание

class (string)

Указывается стилевой класс для отображения поля ввода (HTML элемент).

inp_edit_time

image6 Используется для ввода времени, в указанном при настройке поля, формате (<input type="text">).

параметр

описание

class (string)

Указывается стилевой класс для отображения поля ввода (HTML элемент).

inp_edit_date_time

image7 Используется для ввода даты и времени, в указанном при настройке поля, формате (<input type="text">).

параметр

описание

class (string)

Указывается стилевой класс для отображения поля ввода (HTML элемент).

inp_edit_textarea

image8 Используется для ввода (<textarea> </textarea>).

параметр

описание

class (string)

Указывается стилевой класс для отображения поля ввода (HTML элемент).

format (string)

Данный параметр позволяет задать другой формат вывода данных для поля. Формат, переданный в блоке, является более приоритетным, чем формат указанный в unit config.

edit_template (string)

Добавлено в версии 4.3.1.

Данный параметр позволяет задавать шаблон, используемый для редактирования данного поля. По умолчанию равен popups/editor, т.е. где находиться FCKEditor.

allow_html (string)

Если значение данного параметра будет равно allow_html (что является значением по умолчанию), то слева от поля будет показана специальная пиктограмма. При нажатии на данную пиктограмму во всплывающем окне (popup) будет открыт FCKEditor.

style (string)

Оформление поля с помощью стандартных стилей (HTML элемент). Для данного блока по умолчанию равно width: 100%; height: 45px;.

control_options (string)

Добавлено в версии 4.2.0.

Данный параметр позволяет задать минимальную и максимальную высоту (в пикселях) для данного элемента в виде JavaScript объекта, напр. {min_height: 200, max_height: 300}. В последствии это значение будет использоваться при изменении размера (resize) формы.

inp_edit_textarea_ml

image9 Используется для ввода текста, но с кнопкой открытия всплывающего окна (popup) для ввода значения поля на других языках. Используется для многоязычных сайтов (<textarea> </textarea>).

параметр

описание

class (string)

Указывается стилевой класс для отображения поля ввода (HTML элемент).

format (string)

Данный параметр позволяет задать другой формат вывода данных для поля. Формат, переданный в блоке, является более приоритетным, чем формат указанный в unit config.

allow_html (string)

Если значение данного параметра будет равно allow_html (что является значением по умолчанию), то слева от поля будет показана специальная пиктограмма. При нажатии на данную пиктограмму во всплывающем окне (popup) будет открыт FCKEditor.

style (string)

Оформление поля с помощью стандартных стилей (HTML элемент). Для данного блока по умолчанию равно width: 100%; height: 45px;.

control_options (string)

Добавлено в версии 4.2.0.

Данный параметр позволяет задать минимальную и максимальную высоту (в пикселях) для данного элемента в виде JavaScript объекта, напр. {min_height: 200, max_height: 300}. В последсвии это значение будет использоваться при изменении размера (resize) формы.

cols (int)

Позволяет задать количество столбцов в элементе (HTML элемент).

rows (int)

Позволяет задать количество строк в элементе (HTML элемент).

inp_edit_fck

image10 Поле редактируемое с помощью интегрированного FCKEditor.

параметр

описание

bgcolor (string)

Данный параметр позволяет задать цвет фона окна редактирования в FCKEditor.

control_options (string)

Добавлено в версии 4.2.0.

Данный параметр позволяет задать минимальную и максимальную высоту (в пикселях) для данного элемента в виде JavaScript объекта, напр. {min_height: 200, max_height: 300}. В последствии это значение будет использоваться при изменении размера (resize) формы.

inp_edit_user

image11 Используется для выбора пользователя (в базе будет храниться его ID). Рядом находящаяся кнопка открывает список пользователей, в котором выбирается требуемый (<input type="text">).

параметр

описание

class (string)

Указывается стилевой класс для отображения поля ввода (HTML элемент).

onkeyup (string)

Позволяет задать обработчик события onkeyup (HTML элемент).

size (int)

Ширина поля ввода в символах (HTML элемент).

inp_edit_category

image12 Данный блок позволяет выбрать категорию, используя всплывающее окно (popup) со списком категорий. В результате в качестве значения поля будет ID выбранной категории, но на форме будет показываться путь к ней.

inp_edit_options

image13 DropDown (<select> </select>).

параметр

описание

onchange (string)

Позволяет задать обработчик события onchange (HTML элемент).

has_empty (int)

Если задан, то данный параметр говорит о том, что перед списком опций будет автоматически добавлена пустая опция.

empty_value (int)

Данный параметр позволяет задать значение (value) пустой опции, добавленной в результате использования has_empty параметра.

style (string)

Оформление поля с помощью стандартных стилей (HTML элемент).

inp_edit_multioptions

image14 Multiple DropDown (<select multiple> </select>).

параметр

описание

onchange (string)

Позволяет задать обработчик события onchange (HTML элемент).

has_empty (int)

Если задан, то данный параметр говорит о том, что перед списком опций будет автоматически добавлена пустая опция.

empty_value (int)

Данный параметр позволяет задать значение (value) пустой опции, добавленной в результате использования has_empty параметра.

style (string)

Оформление поля с помощью стандартных стилей (HTML элемент).

inp_edit_radio

image15 Дает возможность сделать выбор значения с помощью Radio Buttons (<input type="radio">).

параметр

описание

onchange (string)

Позволяет задать обработчик события onchange (HTML элемент).

onclick (string)

Позволяет задать обработчик события onclick (HTML элемент).

inp_edit_checkbox

image16 Дает возможность сделать выбор значения с помощью CheckBox (<input type="checkbox">).

параметр

описание

onchange (string)

Позволяет задать обработчик события onchange (HTML элемент).

onclick (string)

Позволяет задать обработчик события onclick (HTML элемент).

field_class (string)

Указывается стилевой класс для отображения поля ввода (HTML элемент).

inp_edit_checkboxes

image17 Дает возможность сделать выбор значений с помощью нескольких CheckBoxes (<input type="checkbox">).

параметр

описание

no_empty (int)

Если передать, то не будет напечатана опция с пустым значением. Позволяет решать проблему с некорректно заданной (в unit config) пустой опцией (в случае, когда раньше вместо этого блока использовался блок inp_edit_options).

inp_edit_checkbox_allow_html

В Platform не используется, используется в In-Portal при редактировании рецензий товара.

параметр

описание

field_class (string)

Указывается стилевой класс для отображения поля ввода (HTML элемент).

inp_edit_weight

image18 Используется для ввода веса согласно значению поля UnitSystem в таблице Language. Если выбрана Американская система, то показывается 2 поля для ввода lbs и oz, если Европейская то показывается одно поле для ввода kg.

параметр

описание

subfield (string)

Может служить для обработки массива хранящегося в базе данных в сериализованного виде. Например на форме ввода находиться несколько inp_edit_box но с разными значениям данного параметра. Написав соответствующий метод для обработки полей, результат ввода данных можно будет сохранить в одном поле базы данных. Пример можно найти в In-Portal в секции Configuration -> Stylesheets -> Edit.

class (string)

Указавается стилевой класс для отображения поля ввода (HTML элемент).

maxlength (int)

Максимальное количество символов, вводимых в текстовом поле (HTML элемент). По умолчанию не задано.

size (int)

Ширина поля ввода в символах (HTML элемент). Для данного блока по умолчанию равно «15».

inp_edit_swf_upload

image19 Используется для загрузки файлов большого размера или большого количества файлов одновременно. Во время загрузки показывает progress bar c процессом загрузки каждого файла на сервер. Перед использованием данного блока необходимо убедиться, что подключены файлы js/swfobject.js и js/uploader.js. Если такие файлы не подключены, то это можно сделать используя следующий код:

<script type="text/javascript" src="js/swfobject.js"></script>
<script type="text/javascript" src="js/uploader.js"></script>

Приведённый выше код следует разместить после объявления панели инструментов (toolbar).

параметр

описание

class (string)

Указывается стилевой класс для отображения поля ввода (HTML элемент).

style (string)

Оформление поля с помощью стандартных стилей (HTML элемент).

inp_edit_picker

image20 Данный блок представляет из себя два поля в одном из которых находятся выбранные элементы, а во втором все доступные элементы за исключением уже выбранных. Блок позволяет выбрать несколько элементов одновременно и перенести их во второй список. Более подробная информация об этом блоке доступна в этой статье.

параметр

описание

style (string)

Оформление поля с помощью стандартных стилей (HTML элемент). Для данного блока по умолчанию равно «width: 225px;».

size (int)

Ширина поля ввода в символах (HTML элемент). Для данного блока по умолчанию равно «15».

optprefix (string)

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

option_key_field (string)

Поле, объявленное в unit config префикса опций (указанного в optprefix), которое содержит идентификатор (ID) опции.

option_value_field (string)

Поле, объявленное в unit config префикса опций (указанного в optprefix), которое содержит название опции.

inp_edit_minput

image21 Блок используется для класса, который предназначен для ввода списка дополнительных данных в схожем формате, характеризующих основной предмет. Например, человек (people) - это пример основной сущности, а список его детей (children) - это пример дополнительной сущности. Т.е. ребенок (children) это подчинённый префикс для главного префикса people. Более подробная информация об этом блоке доступна в этой статье.

параметр

описание

format (string)

Значением данного параметра является строка, которая может состоять из названий полей (зарегистрированных в шаблоне при помощи метода registerControl) и любого текста. Название каждого поля должно быть заключено в символы #. Например "#ChildFullName# #ChildBirthDate_date#". Фразы использовать нельзя, т.к. они не обрабатываются.

style (string)

Оформление поля с помощью стандартных стилей (HTML элемент). Для данного блока по умолчанию равно width: 100%; height: 45px;.

allow_add (int)

Можно разрешить/запретить добавление элементов списка, по умолчанию разрешено.

allow_edit (int)

Можно разрешить/запретить редактирование элементов списка, по умолчанию разрешено.

allow_delete (int)

Можно разрешить/запретить удаление элементов списка, по умолчанию разрешено.

allow_move (int)

Добавлено в версии 4.3.1.

Можно разрешить/запретить перемещение элементов вверх и вниз в списке, по умолчанию разрешено.

Осторожно

В зависимости от того, как будет обрабатываться полученный XML может получиться, что в базе данных ничего перемещаться не будет.

inp_edit_filler

Данный блок заполняет градиентом свободное пространство во всплывающих окнах (popups).

параметр

описание

control_options (string)

Добавлено в версии 4.2.0.

Данный параметр позволяет задать минимальную и максимальную высоту (в пикселях) для данного элемента в виде JavaScript объекта, напр. {min_height: 200, max_height: 300}. В последствии это значение будет использоваться при изменении размера (resize) формы.