%args>
$name => undef
$check => undef
%args>
<%init>
my $VALUES = eval ('use vars qw($VAR1); '.$check);
my $LAST = 0;
$m->out('
');
$m->out('
Идентификатор
Русскоязычное имя поля (то, что будет видно пользователю рядом с checkbox)
');
if ((defined $VALUES) && (ref($VALUES) eq 'HASH'))
{
for my $key (sort (keys(%{ $VALUES })))
{
my $attr = $key;
my $rusname = $VALUES->{$attr}->{rusname};
next if (! defined($rusname) || !$rusname);
if ($attr =~ /^${name}_(\d+)$/)
{
$LAST = $1;
}
$m->out( $m->scomp( '.one_field.msn', attr => $attr, rusname => $rusname ) );
}
}
for (($LAST+1)..($LAST+5))
{
my $attr = $name.'_'.$_;
$m->out( $m->scomp( '.one_field.msn', attr => $attr ) );
}
$m->out('
');
%init>
<%def .one_field.msn>
<% $attr %>
<%args>
$attr => undef
$rusname => undef
%args>
<%init>
return undef if (! defined($attr));
%init>
%def>
<%doc>
Дополнительные поля в виде checkbox'а. Каждое поле характеризуется следующими данными:
attr - уникальный ключ
rusname - русское название
Все это хранится в хэше...
%doc>