<%args> $name => undef $check => undef <%init> my $VALUES = eval ('use vars qw($VAR1); '.$check); my $LAST = 0; $m->out(''); $m->out(''); 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('
ИдентификаторРусскоязычное имя поля
(то, что будет видно пользователю рядом с checkbox)
'); <%def .one_field.msn> <% $attr %> <%args> $attr => undef $rusname => undef <%init> return undef if (! defined($attr)); <%doc> Дополнительные поля в виде checkbox'а. Каждое поле характеризуется следующими данными: attr - уникальный ключ rusname - русское название Все это хранится в хэше...