Для добавления поля на форму необходимо использовать метод addField.
Пример:
class AmiClean_AmiSample_FormViewAdm extends Hyper_AmiClean_FormViewAdm{
public function init(){
$this ->addField( array ( 'name' => 'id' , 'type' => 'hidden' ));
$this ->addField( array ( 'name' => 'mod_action' , 'value' => 'form_save' , 'type' => 'hidden' ));
$this ->addField( array ( 'name' => 'public' , 'type' => 'checkbox' , 'default_checked' => true));
$this ->addField( array ( 'name' => 'nickname' ));
$this ->addField( array ( 'name' => 'birth' , 'type' => 'date' , 'validate' => array ( 'custom' , 'stop_on_error' )));
$this ->addField( array ( 'name' => 'email' ));
return parent::init();
}
}
|
Параметром метода является ассоциативный массив:
Ключ | Значение | Комментарий |
name | Строка | Название поля |
type | input, checkbox, datetime, date, select, radio, hidden, htmleditor | Тип поля |
value | Строка | Текущее значение |
data | Массив значений select, radio | Каждый
элемент массива является массивом, определяющим 1 значение контрола.
Допустимые ключи id, value, caption, checked, disabled |
position | Строка | Положение элемента относительно существующих позиций |
html | Строка | HTML код элемента управления |
cols | Число | Количество столбцов текста для визуального текстового редактора (htmleditor) |
rows | Число | Количество строк текста для визуального текстового редактора (htmleditor) |
display_by_action | Строка/Массив строк | Отображать данное поле только в случае перечисленных действий (edit, new,…) |
Порядок
элементов формы задается при помощи формирования позиций элементов,
аналогично заданию порядка столбцов в табличном списке.
При
добавлении поля создается позиция элемента. Если параметр position не
указан явно, то позиция элемента добавляется там, где происходило
последнее добавление элементов.
Для создания собственного элемента управления, необходимо передать значение html в массиве параметров.
Пример:
$this ->addField( array ( 'name' => 'my_ctrl' , 'html' => $ctrlHtml ));
|
Заголовки
Заголовки полей описываются в файле языковых переменных формы "_local/_admin/templates/lang/60/{$modId}_form.lng".
Имена переменных должны соответствовать формату "form_field_имяПоля" либо "caption_имяПоля". Например:
%%caption_nickname%en%%
Nickname
%%caption_nickname%ru%%
Имя
%%caption_birth%en%%
Birthday
%%caption_birth%ru%%
День рождения
%%form_field_about%en%%
About
%%form_field_about%ru%%
Описание
%%form_field_email%en%%
Email
%%form_field_email%ru%%
Email
%%form_field_phone%en%%
Phone
%%form_field_phone%ru%%
Телефон
|