Leser: 24
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
$VAR1 = [
{
'node' => 'test1',
'SUBTREE' => [
{
'node' => 'test1.1',
},
{
'node' => 'test1.2',
},
],
},
{
'node' => 'test2',
'SUBTREE' => [
{
'node' => 'test2.1',
},
{
'node' => 'test2.2',
'SUBTREE' => [
{
'node' => 'test2.2.1',
},
{
'node' => 'test2.2.2',
},
],
},
],
}
];
2009-07-26T17:21:21 sid burnDa stellt sich die Frage warum du überhaupt noch ein Templating System nutzt wenn du das HTML im Programmcode erzeugst?
2009-07-26T19:06:49 MartinRWoher kommen denn die Daten für deine Baumstruktur? Aus einer DB? Ich verwende meist Nested-Set-Tabellen in denen ich eine extra Spalte für die Ebene einsetze. Da wird dann die Darstellung ( das Einrücken ) mit HTC zum Kinderspiel.
2009-07-26T20:02:41 reneeKannst Du da Deine Lösung kurz skizzieren?
1
2
3
4
5
6
7
8
9
10
11
SELECT
struktur_1.struktur_id,
struktur_1.struktur_txt,
struktur_1.ebene
FROM
struktur AS struktur_1,
struktur AS struktur_2
WHERE
struktur_1.links BETWEEN struktur_2.links AND struktur_2.rechts
GROUP BY
struktur_1.links
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
sub StrukturAuslesen {
my $self = shift;
my ( @Struktur, $struktur_id, $struktur_text, $ebene );
$self->SqlStatements::HoleStrukturSQL();
$self->{HoleStrukturSQL}->execute();
$self->{HoleStrukturSQL}->bind_columns(undef, \( $struktur_id, $struktur_text, $ebene ));
while ( $self->{HoleStrukturSQL}->fetch() ) {
my $padding = ($ebene * 5);
my %StrukturHash = (
ID => $struktur_id,
PADDING => $padding,
TITEL => $struktur_text,
);
push (@Struktur, \%StrukturHash);
}
return \@Struktur;
}
1
2
3
4
5
6
7
<!--TMPL_LOOP STRUKTUR_ZEILEN -->
<div id="tr_objekt_<!-- TMPL_VAR ID -->" class="struktur_zeile">
<div style="margin-left:<!-- TMPL_VAR PADDING -->px;">
<!--TMPL_VAR TITEL -->
</div>
</div>
<!--/TMPL_LOOP STRUKTUR_ZEILEN -->