% unless ($error) { % if (@ids) {
Название
Удалить?
% my $i = 0; % foreach my $obj_id (@ids) { % my $obj = ref $objects eq 'HASH' && exists $objects->{$obj_id} ? $objects->{$obj_id} : undef;
% if ( ref $obj ) { % my ($a1, $a2) = $obj->id ? ('
','
') : ('',''); <% $a1.($obj->name || 'Безымянный документ #'.$obj->id).$a2 %> % } else {
Неверная ссылка!!!
% }
% }
% }
% } else {
<% $error %>
% } <%args> $object $name => undef $check => undef $prop => {} %args> <%init> my ($objects, $lookup_string, $error); # Если оно хранится в поле типа integer[] то нам вернется массив, если в data, то ссылка на массив. # Просекаем фишку my @ids = ref($object->$name) eq 'ARRAY' ? @{ $object->$name } : $object->$name ? $object->$name : (); if ($prop && ref($prop) && exists $prop->{lookup_opts} && ref $prop->{lookup_opts} eq 'HASH') { if ( @ids ) { $objects = $keeper->get_documents ( in_id => \@ids, %{$prop->{lookup_opts}}, return_mode => 'hash_ref', ); } $lookup_string = '/contenido/find_document.html?nf='.$name.'_docname&vf='.$name.'_value'; while ( my ($param, $value) = each %{ $prop->{lookup_opts} } ) { $lookup_string .= '&'.$param.'='.$value; } }else{ $error = 'Похоже неверное описание lookup_opts в документе'; } %init>