8 Einträge, 1 Seite |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
#!/usr/bin/perl use strict; use warnings; use base qw(CGI::Application); sub setup{ my ($self) = @_; $self->start_mode( 'seite1' ); $self->mode_param( 'rm' ); $self->run_modes( AUTOLOAD => \&seite1, seite1 => \&seite1, seite3 => \&seite3, seite4 => \&seite4, ); } sub seite1{ my ($self) = @_; my $tmpl = $self->load_tmpl( 'template.tmpl' ); $tmpl->param( SEITE => 'Seite 1' ); return $tmpl->output; } sub seite3{ my ($self) = @_; my $tmpl = $self->load_tmpl( 'template.tmpl' ); $tmpl->param( SEITE => 'Seite 1' ); return $tmpl->output; } sub seite4{ my ($self) = @_; my $tmpl = $self->load_tmpl( 'template.tmpl' ); $tmpl->param( SEITE => 'Seite 4' ); return $tmpl->output; }
1
2
3
4
5
6
7
8
#!/usr/bin/perl
use strict;
use warnings;
use WebApp;
my $webapp = WebApp->new();
$webapp->run();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package WebApp;
use base 'CGI::Application';
use strict;
use HTML::Template::Compiled;
use STARTMODUL;
use AMODUL;
use BMODUL;
use CMODUL;
# 1) cgiapp_init wird als erstes ausgeführt
sub cgiapp_init {
my $self = shift;
# HTC-Template Rahmenseite
$self->{TEMPLATE} = HTML::Template::Compiled->new (
filename => 'tmpl_rahmen.htm',
path => '/pfad/tmpl/',
loop_context_vars => 1,
);
}
# 2) setup wird als zweites ausgeführt
sub setup {
my $self = shift;
$self->start_mode('startseite');
$self->mode_param('rm');
$self->error_mode('startseite');
$self->run_modes(
'AUTOLOAD' => 'startseite',
'a' => 'sub_a',
'b' => 'sub_b',
'c' => 'sub_c',
);
}
# 3) cgiapp_prerun wird als drittes ausgeführt
sub cgiapp_prerun {
my $self = shift;
# ...
}
# 4) cgiapp_postrun wird als viertes ausgeführt
sub cgiapp_postrun {
my $self = shift;
my $output_ref = shift;
$self->{TEMPLATE}->param(
RUNMODE => $self->get_current_runmode(),
);
$$output_ref = $self->{TEMPLATE}->output();
}
sub startseite {
my $self = shift;
$self->STARTMODUL::StartSeite();
}
sub sub_a {
my $self = shift;
$self->AMODUL::SeiteA();
}
sub sub_b {
my $self = shift;
$self->BMODUL::SeiteB();
}
sub sub_c {
my $self = shift;
$self->CMODUL::SeiteC();
}
1;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package AMODUL;
use base 'CGI::Application';
use base 'WebApp';
use strict;
sub SeiteA {
my $self = shift;
$self->{TEMPLATE}->param(
CONTENT_SEITE => 'tmpl_content_a.htm',
INHALT => 'Scriptausgabe A',
);
}
1;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package BMODUL;
use base 'CGI::Application';
use base 'WebApp';
use strict;
sub SeiteB {
my $self = shift;
$self->{TEMPLATE}->param(
CONTENT_SEITE => 'tmpl_content_b.htm',
INHALT => 'Scriptausgabe B',
);
}
1;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package CMODUL;
use base 'CGI::Application';
use base 'WebApp';
use strict;
sub SeiteC {
my $self = shift;
$self->{TEMPLATE}->param(
CONTENT_SEITE => 'tmpl_content_c.htm',
INHALT => 'Scriptausgabe C',
);
}
1;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package STARTMODUL;
use base 'CGI::Application';
use base 'WebApp';
use strict;
sub StartSeite {
my $self = shift;
$self->{TEMPLATE}->param(
CONTENT_SEITE => 'tmpl_content_start.htm',
INHALT => 'Scriptausgabe A',
);
}
1;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<html><head><title></title></head>
<body>
<table>
<tr>
<td>
<p><a href="?rm=">Startseite</a></p>
</td>
<td>
<!-- TMPL_IF NAME="CONTENT_SEITE" -->
<!-- TMPL_INCLUDE_VAR NAME="CONTENT_SEITE" -->
<!-- TMPL_ELSE -->
<p>kein Content</p>
<!-- /TMPL_IF NAME="CONTENT_SEITE" -->
</td>
</tr>
</table>
</body>
</html>
1
2
3
4
5
<h1>Startseite</h1>
<p>Dies ist der Inhalt von tmpl_content_start.htm</p>
<p><a href="?rm=a">Test A</a></p>
<p><a href="?rm=b">Test B</a></p>
<p><a href="?rm=c">Test C</a></p>
1
2
3
4
5
<h1>A</h1>
<p>Dies ist der Inhalt von tmpl_content_a.htm</p>
<hr>
<p><!-- TMPL_VAR INHALT --></p>
<hr>
1
2
3
4
5
<h1>B</h1>
<p>Dies ist der Inhalt von tmpl_content_b.htm</p>
<hr>
<p><!-- TMPL_VAR INHALT --></p>
<hr>
1
2
3
4
5
<h1>C</h1>
<p>Dies ist der Inhalt von tmpl_content_c.htm</p>
<hr>
<p><!-- TMPL_VAR INHALT --></p>
<hr>
8 Einträge, 1 Seite |