Это старая версия документа.


HTML.pm

Ссылка

$html->button('NAME', 'LINK_PARAMS', { %PARAMS });
BUTTON В виде кнопки. По умолчанию выводится в виде линка
GLOBAL_URL Указать произволный URL. По умолчанию система к параметру линка добавляет префикс биллинговой системе https://yoursystem.com:9443/
NEW_WINDOW Открыть в новом окне
NEW_WINDOW_SIZE Размер нового окна
IMG Картинка вместо текста
MESSAGE Вывести подтверждающее сообщение
ex_params= Дополнительные параметры

Пример

$html->button('NAME', 'LINK_PARAMS', { ex_params => "class=new"  });

Вывод

<a href='$SELF_URL?LINK_PARAMS' class=new>NAME</a> 

Сообщения (предупреждения)

Информация о выполненной операции или предупреждение об ошибке

$html->message('TYPE', 'CAPTION', 'MESSAGE', { PARAMS });
TYPE Тип сообщения
info - Информация
err - ошибка
warn - Предупреждение
CAPTION Оглавление сообщения
MESSAGE Текст сообщения.
Для переноса строк используется '\n'
PARAMS Дополнительные параметры
ID Вывести номер сообщения (см. Систематизация ошибок)

Формы

контейнер формы

 $html->form_main({ %PARAMS })

Параметры:

CONTENT Тело контейнера форм
HIDDEN Сыылка на массив скрытых полей ввода. HIDDEN ⇒ { index ⇒ $index }
NAME Название формы

Форма ввода

 $html->form_input('NAME', 'VALUE', { %PARAMS  });

Спадающее меню

 $html->form_select("NAME", { %PARAMS });

Параметры:

SELECTED активное значение
SEL_OPTIONS Дополнительные параметры, списка не указанные в главном значении.
Укажите {«»⇒«»}, чтобы добавить первое пустое значение ( и крестик для скидывания выбраной опции)
NO_ID Не показывать идентификатор элемента списка только его значение

Много уровневый масив:

SEL_MULTI_ARRAY ссылка на масив
MULTI_ARRAY_KEY Поле для ключа
MULTI_ARRAY_VALUE поле значения. Можно указывать несколько полей через запятую

Много уровневый массив хешей удобный для приёма списков

SEL_LIST ссылка на масив
SEL_KEY Поле для ключа
SEL_VALUE поле значения. Можно указывать несколько полей через запятую

Пример

Список тарифных планов ключ поле id значение поле name

$html->form_select(
  'TP_ID',
  {
    SELECTED => $FORM{TP_ID} || q{},
    SEL_LIST => $tariffs->list({ MODULE => 'Dv', COLS_NAME => 1 }),
    SEL_KEY  => 'id',
    SEL_VALUE=> 'name'
  }
);

Масив:

SEL_ARRAY ссылка на масив
ARRAY_NUM_ID ид элементов в виде цифр. По умолчанию равно значниею

Хеш:

SEL_HASH Ссылка на хеш

Таблицы

Создание элемента таблицы

$table = $html->table({ %PARAMS  });
width Ширина таблицы. Можно задавать как в пикселях так и в процентах
caption Названеи таблицы
border Отображать границу таблицы
title Масив значений для заголовков колонок
cols_align Масив выравнивания колонок. Значения: left
right
center
center:noprint - Не выводить при печати страницы
pages Количество сстрок передаваемых таблице. Используется для формирования строки переходов страниц
qs Дополнительные URL параметры для элементов таблицы
ID ИД таблицы
COLS_NAME Возврат значений не массивом, а хешем
EXPORT кнопки экспорта содержимого таблицы
IMPORT форма импорта данных. Указывает на линк вызова функции
Пример:
IMPORT ⇒ «$SELF_URL?get_index=form_users&import=1&header=2»

Пример

my $table = $html->table( { width      => '100%',
                            caption    => $_COMPANIES,
                            border     => 1,
                            title      => [$_NAME, $_DEPOSIT, $_REGISTRATION, $_USERS, $_STATUS, '-', '-'],
                            cols_align => ['left', 'right', 'right', 'right', 'center', 'center'],
                            pages      => $company->{TOTAL},
                            qs         => $pages_qs,
                            ID         => 'COMPANY_ID'
                          } );

Заполнение строк таблицы

Пример

foreach my $line (@$list) {
  #Добавление строк
  $table->addrow($line->[0],  
    $line->[1], 
    $line->[2], 
    $html->button($line->[3], "index=13&COMPANY_ID=$line->[5]"), 
    "$status[$line->[4]]",
    $html->button($_INFO, "index=13&COMPANY_ID=$line->[5]", { BUTTON => 1 }), 
    (defined($permissions{0}{5})) ? $html->button($_DEL, "index=13&del=$line->[5]", { MESSAGE => "$_DEL $line->[0]?", BUTTON => 1 }) : ''
    );
 }

Вывод содержимого таблицы

print $table->show();

Формирование таблицы с заполненными строками
Пример

$table = $html->table( { width      => '100%',
                         cols_align => ['right', 'right'],
                         rows       => [ [ "$_TOTAL:", $html->b($company->{TOTAL}) ] ]
                     } );
print $table->show();

Вывод таблицы используя вывод хешем
Список администраторов

$list = $admin->list({ %LIST_PARAMS, 
                       COLS_NAME => 1 
	                });

foreach my $line (@$list) {
  $table->addrow(
    $line->{aid}, 
    $line->{login}, 
    $line->{name}, 
    $line->{raddate}
  );
}

print $table->show();

Добавление ячеек таблицы

$table->addtd( 
  $table->td($value, { bgcolor => 'red', valign => 'top', align => 'center'  }),
  $table->td($value)
);

Напоминание

Создаёт напомнание, которое позже выносится в верхнюю часть страницы.
Можно задавать цвет через аттрибут CLASS. По умолчанию, это info.

  $html->reminder($lang{REMINDER}, $lang{PLEASE_CHANGE_DEFAULT_PASSWORD});

Функциональные поля таблицы

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

Возможные прописаные значения:

  • form_payments - переход на страницу оплат
  • *_stats - имя функции для показа статистики
  • change - перейти по тому же индексу с параметром chg=$line→{id}
  • info - перейти по тому же индексу с параметром info=$line→{id}
  • company_id - перейти по тому же индексу с параметром COMPANY_ID=$line→{id}
  • ex_info - Информация в модуле Info
  • del - спросить подтверждение и перейти по тому же индексу с параметром del=$line→{id}&COMMENTS=%COMMENTS%

Добавить свою кнопку:

Формат : $function_name:$name:$param:$ex_param
Если $name совпадает с ('del', 'change', 'add'), будет присвоена соответсвующая иконка.
или будет произведена попытка перевести $name с помощью _translate()

Если не совпадает с указаным форматом, будет считаться, что $function_name и $name равны указаной строке.
В ссылку кнопки, передается index=(get_function_index($function_name) || индекс текущей страницы).

Если в строке базы есть $uid, так же к ссылке добавится UID=$line→{uid}.

Фильтры result_former

Задаются в виде хеша

{
...,
  FILTER_COLS => {
    column => '$filter_fn[:$plain_params]:$params'
  },
...
}

Будет вызвана $filter_fn с аргументами (значение $line→{column}, { VALUES ⇒ …, PARAMS ⇒ …, LINK_NAME ⇒ … );

В PARAMS передается ссылка на масив в котором лежат $plain_params(если указаны), $params:
В VALUES, в зависимости от заполнения $params, могут передаваться:

  • значения из $line

пример NAME,VALUE{ NAME ⇒ $line→{name}, VALUE ⇒ $line→{value} }

  • значения указаные через =, заранее определённые значения

пример TYPE=1,LAST=5 ⇒ { TYPE ⇒ 1, LAST ⇒ 5 }

В LINK_NAME передаются значения из SELECT_VALUE, если они заданы.