Центр документации
Карта сайта

Создай визитку сам!


Самоучитель по интеграции дизайна и настройке Amiro.CMS на примере демонстрационной версии пакета Визитка »


Форма - определение набора и порядка полей

Для добавления поля на форму необходимо использовать метод 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%%
Телефон
Установка и настройка Руководство пользователя Интеграция дизайна Разработчикам (API)
 2000 – 2021 © Amiro.CMS Все права защищены.