Projekt

Allgemein

Profil

Herunterladen (1,27 KB) Statistiken
| Zweig: | Markierung: | Revision:
0466a6b3 Sven Schöling
package SL::Layout::Split;

use strict;
use parent qw(SL::Layout::Base);

5a55ac86 Sven Schöling
use SL::Presenter::Tag qw(html_tag);
0466a6b3 Sven Schöling
use Rose::Object::MakeMethods::Generic (
'scalar' => [ qw(left right) ],
);

sub sub_layouts {
@{ $_[0]->left || [] },
@{ $_[0]->right || [] },
}

sub pre_content {
my $left = join '', map { $_->pre_content } @{ $_[0]->left || [] };
my $right = join '', map { $_->pre_content } @{ $_[0]->right || [] };

5a55ac86 Sven Schöling
html_tag('div', $left, class => 'layout-split-left')
e0a3b19e Sven Schöling
.'<div class="layout-split-right">' . $right;
0466a6b3 Sven Schöling
}

sub post_content {
my $left = join '', map { $_->post_content } @{ $_[0]->left || [] };
my $right = join '', map { $_->post_content } @{ $_[0]->right || [] };

$right . '</div>'
5a55ac86 Sven Schöling
. html_tag('div', $left, class => 't-layout-left');
0466a6b3 Sven Schöling
}

1;

__END__

=encoding utf-8

=head1 NAME

SL::Layout::Split

=head1 SYNOPSIS

2c82a709 Sven Schöling
use SL::Layout::Split;
0466a6b3 Sven Schöling
2c82a709 Sven Schöling
SL::Layout::Split->new(
0466a6b3 Sven Schöling
left => [ LIST OF SUBLAYOUTS ],
right => [ LIST OF SUBLAYOUTS ],
);

=head1 DESCRIPTION

Layout with left and right components, with content being part of the
right block.

=head1 BUGS

Due to the way content is serialized it's currently not possible to shift the content into the other blocks

=head1 AUTHOR

Sven Schöling E<lt>s.schoeling@linet-services.deE<gt>

=cut