% $r->content_type('text/html; charset="utf-8"'); % use A2E::Daba; % use utf8; % use Data::Dumper; % my $noun = 'World'; % my $dok = 'a2e_mason_pub'; % my $lang = 'de'; % my $dir = '/adv/mason'; % my $url = "https://a2e.de$dir"; % my $title = 'Mason bei A2E'; % my $sutit = 'Erste Schritte zu Perlender Dynamik'; % my $descr = 'Modularisierung und Perlisierung unseres Webauftrittes durch das Perl-Modul HTML::Mason; Aufnahme von Mason in das A2E-Hypertextsystem, wo es im Konzert mit Deplate, Template und eigenen Perl-Bibliotheken wirken soll. Wahrscheinlich kommen noch DBIx::Class und Catalyst hinzu'; <& 'kap.mason', dok => $dok, lang => $lang, title => $title, descr => $descr, https => 0, css => '/adv/adv_pub.css' &> % sub langflags { return "de en fr" }; % sub users_sidepanel { my $dok = shift;my $lang = shift;my $url = shift;return qq{user login
inactive
} }

<% $title %>

<% $sutit %>

% $fi = "$dir/$dok.nav.de.html"; % if (-r $fi) { % }

<% $descr %>

1 Lage

  • Hier bauen wir unsere hiesigen Webseiten Schritt für Schritt als Mason-Komponentensystem nach
  • Die vorliegende Seite wird mit Mason wiedergegeben. index.mason wird gegenüber index.html präferiert. Dies gilt überall auf a2e, eupat und ffiinnc.
  • Dekodierung nichtlateinischer Zeichen funktioniert erst wenn man auf der Seite (in der Kompenente?) 'use utf8' gesagt hat.
  • Wir verwenden schon {ah dok=perl_a2e_pub/Mason.pm:A2E::Mason} an stelle von HTML::Mason::ApacheHandler, s. HTML::Mason::Admin / Advanced Configuration / Writing a wrapper, aber 'use utf8' muss noch immer auf jeder Seite stehen; das ganze kann noch {ah url="http://www.justatheory.com/computers/programming/perl/utf8_trials.html":einiges Kopfzerbrechen} bereiten.
  • Im Rahmen von Catalyst ist Mason ein Präsentationswerkzeug, das alternativ zu Template verwendet werden kann.

Gehversuche

Hello <% $noun %>!
How are ya?

Is <% 2+2 %> equal to four? % my $p = new_ready A2E::Daba; The host is <% $p->{konfig}->host %>. % my $dok2 = 'a2e_lex'; % my ($url2) = $p->get_record('mlhtdok', { dok => $dok2 }, 'dokurl'); The url of <% $dok2 %> is <% $url2 %>. <%perl> my @time = localtime;

Hello <% $noun %>,
Good % if ( $time[2] < 12 ) { Morning! % } else { Afternoon! % }

Conditional

% my $ct = $r->content_type; % my $ua = $r->headers_in->{'User-Agent'};

% if ($ua =~ /msie/i) { Welcome, Internet Explorer user! % } elsif ($ua =~ /mozilla/i) { Welcome, Netscape user! % } else { Welcome, user of unknown browser! % }

Content-Type:
<% $ct %>
Dumper:
<% Dumper($r) %>
URI:
<% $r->uri %>
Headers:
User-Agent:
<% $ua %>

HTML list formed from array

% my @list = qw(a2e ffii);

    % foreach my $item (@list) {
  • database <% $item %>
  • % }

HTML list formed from hash

    % while (my ($key,$value) = each(%ENV)) {
  • <% $key %>: <% $value %>
  • % }

HTML table formed from list of hashes

% my @phmreks = $p->get_records('tadok', { uid => 'phm' }, qw(ta dok tarem taktg proj)); % foreach my $rek (@phmreks) { my ($ta, $dok, $rem, $ktg, $proj) = @$rek; % }
<% $ta %> <% $rem %> <% $ktg %> <% $dok %> <% $proj %>

Components

  1. <% $m->comp('komp1.mason', num => 5) %>
  2. 2 Aufgaben

    3 Termine

    4 Unterlagen

    • perldoc -oLaTeX -dhtml_mason.tex HTML::Mason
    • perldoc -oLaTeX -dhtml_mason_admin.tex HTML::Mason::Admin
    • perldoc -oLaTeX -dhtml_mason_devel.tex HTML::Mason::Devel
    • perldoc -oLaTeX -dhtml_mason_request.tex HTML::Mason::Request

    5 Chronik

    • dat: 2008-09-03; prs: phm: Verzeichnis eingerichtet
% $fi = "$dok.doksrow.de.html";
% $m->comp($fi, dim=>0) if -r $fi;
% $fi = "/valid.$lang.html"; % $m->comp($fi) if -r $fi; deplate
https://a2e.de/sig/adv/apache
© 2006-08-20 Hartmut PILCH