<& "/contenido/components/title.msn" &> % if ($document) { % if ( @sources ) { % my $show = (@sources && $link_class && grep { $_ eq $link_class } @sources) || ((@sources && @destinations) || !@destinations) ? 1 : 0; % my $lclass = $link_class; % if ( $link_class && grep { $_ eq $link_class } @destinations ) { % $show = 0; % $lclass = undef; % }
Связи, ведущие от этого документа:
<& "/contenido/components/document_links_block.msn", document => $document, lclasses => \@sources, class => $lclass, p => $p, link_id_name => 'source_id', link_class_name => 'source_class' &>
Содержимое скрыто
% } % if ( @destinations ) { % my $show = (@destinations && $link_class && grep { $_ eq $link_class } @destinations ) || !@sources ? 1 : 0; % my $lclass = $link_class; % if ( $link_class && grep { $_ eq $link_class } @sources ) { % $show = 0; % $lclass = undef; % }
Связи, ведущие к этому документу:
<& "/contenido/components/document_links_block.msn", document => $document, lclasses => \@destinations, class => $lclass, p => $p, link_id_name => 'dest_id', link_class_name => 'dest_class' &>
Содержимое скрыто
% } % } else {

Не могу получить документ по данным id=<% $id %> и class=<% $class %>

% } <%ARGS> $p => 1 $class => undef $id => undef $link_class => undef <%INIT> return unless ($state->{available_links} and @{$state->{available_links}}); my $document; my (@sources, @destinations); if ($id && ($id !~ /\D/) && ($id > 0)) { $document = $keeper->get_document_by_id($id, class=>$class); } if ( ref $document ) { foreach my $classlink ( @{ $state->{available_links} } ) { my $sources = $classlink->available_sources; if ( ref $sources eq 'ARRAY' && @$sources ) { push @sources, $classlink if grep { $document->class eq $_ } @$sources; } my $dests = $classlink->available_destinations; if ( ref $dests eq 'ARRAY' && @$dests ) { push @destinations, $classlink if grep { $document->class eq $_ } @$dests; } } }