Schrift
[thread]786[/thread]

Websites mit HT(C): Template-Logik (Seite 2)



<< |< 1 2 >| >> 20 Einträge, 2 Seiten
pq
 2006-07-24 16:38
#8443 #8443
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
ich habe ja meine gründe schon genannt. ich arbeite aber auch an einer
seite mit sehr hohem traffic und einer menge servern, bei der so
ein einbau einer abfrage sehr viel ausmachen kann.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
renee
 2006-07-24 17:18
#8444 #8444
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Naja, was macht es denn für einen Unterschied, wenn der Auftraggeber sagt, er will es haben oder wenn Du einen Pool von Funktionen zur Verfügung stellst und der Designer es nur noch "anschalten" braucht.

Ich meinte so etwas in dieser Richtung:

Skript:
Code: (dl )
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
#!/usr/bin/perl

use strict;
use warnings;
use CGI;
use HTML::Template::Compiled;

my $cgi = CGI->new();
my %params = $cgi->Vars();

my %func_pool = (SHOW_MEMBERS => [\&show_members, 'member.tmpl'],
SHOW_NEWS => [\&show_news,'news.tmpl'],
);

my $template = HTML::Template::Compiled->new(filename => '/path/to/file.tmpl');

for(keys(%params)){
if(exists $func_pool{$_}){
$template->param($_ => $func_pool{$_}->[1]);
$template->param($_.'TMPL' => $func_pool{$_}->[0]->());
}
}

sub show_members{
my $select = q~SELECT name FROM members~;
my $sth = $dbh->prepare($select) or die $dbh->errstr();
$sth->execute() or die $dbh->errstr();
my @members;
while(my ($name) = $sth->fetchrow_array()){
push(@members,{NAME => $name});
}
$sth->finish();
return [@members];
}



Dann kann der Designer über die Verwendung der Tags entscheiden, was tatsächlich angezeigt wird.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
MartinR
 2006-07-25 14:53
#8445 #8445
User since
2004-06-17
305 Artikel
BenutzerIn
[default_avatar]
[quote=renee,24.07.2006, 15:18]Dann kann der Designer über die Verwendung der Tags entscheiden, was tatsächlich angezeigt wird.[/quote]
Genau so sehe ich das auch.

Nur hat Deine Lösung leider einen kleinen Haken. Sie funktioniert nur, wenn ein einziges tmpl-file verwendet wird. Sind darin aber weitere tmpl included werden diese nicht ausgewertet, oder doch? Und ein rekursives Durchlaufen aller tmpl dürfte wohl Performance kosten.
renee
 2006-07-25 17:33
#8446 #8446
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ich habe gerade gemerkt, dass das mit HTC doch (noch) nicht geht, weil die param bzw. die query-Methode nicht so arbeitet wie unter HT. Bug-Report ist erstellt.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
MartinR
 2006-07-25 17:54
#8447 #8447
User since
2004-06-17
305 Artikel
BenutzerIn
[default_avatar]
Hatte ich hier auch schon angemerkt ...
GwenDragon
 2006-07-25 18:44
#8448 #8448
User since
2005-01-17
14555 Artikel
Admin1
[Homepage]
user image
HTML-Mason wollt ihr nicht verwenden?
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

pq
 2006-07-25 18:45
#8449 #8449
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
renee, das ist aber kein bug. du fragst ein tag namens TMPL_INCLUDE_VAR ab.
das gibt es in H::T gar nicht =)
was sollte denn HTC deiner meinung nach hier tun?

query() arbeitet genauso wie in H::T. es kann TMPL_VAR
und TMPL_LOOP abfragen. mehr nicht.\n\n

<!--EDIT|pq|1153839151-->
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
pq
 2006-07-25 18:54
#8450 #8450
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=MartinR,25.07.2006, 15:54]Hatte ich hier auch schon angemerkt ...[/quote]
naja, das war 2005. query() ist schon längst implementiert.
ich dachte, dass hättest du mitgekriegt. ich poste ja auch immer
die changes hier im forum.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
MartinR
 2006-07-25 19:46
#8451 #8451
User since
2004-06-17
305 Artikel
BenutzerIn
[default_avatar]
... ähm, stimmt. Da war ich wohl wieder etwas vorlaut ;-)

use_query => 1
renee
 2006-07-26 09:55
#8452 #8452
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=pq,25.07.2006, 16:45]renee, das ist aber kein bug. du fragst ein tag namens TMPL_INCLUDE_VAR ab.
das gibt es in H::T gar nicht =)
was sollte denn HTC deiner meinung nach hier tun?

query() arbeitet genauso wie in H::T. es kann TMPL_VAR
und TMPL_LOOP abfragen. mehr nicht.[/quote]
Stimmt, hast recht. Habe auch beim RT eingetragen, dass es jetzt eher ein feature request ist.

HTC sollte hier das gleiche tun wie bei _VAR und _LOOP. query sollte vielleicht "INCLUDE_VAR" zurückgeben und param "true".
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< |< 1 2 >| >> 20 Einträge, 2 Seiten



View all threads created 2006-07-21 12:20.