Schrift
[thread]126[/thread]

HTML::Template: und Hyperlinks



<< >> 4 Einträge, 1 Seite
pktm
 2004-12-30 01:29
#637 #637
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!
Ich würde gerne eine HTML::Template - Variable in einen Link einbauen.
Das mache ich so:
<a href=" <TMPL_VAR NAME=SELF> ">link</a>
Wenn ich das Ding jetzt aber Pharse kommt dashier als Link raus:
http://127.0.0.1/cgi-bin/cms/<TMPL_VAR%20NAME=SELF>
Wie kann ich denn Sachen innerhalb von Elementen ersetzen?
Aus der Doku werde ich nicht richtig schlau, da habe ich nur gefunden, wie man Quotas aus dem einzufügenden Inhalt entfernt...
mfg pktm
http://www.intergastro-service.de (mein erstes CMS :) )
esskar
 2004-12-30 02:06
#638 #638
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
das sollte gehen...
code wäre hilfreich!
pktm
 2004-12-30 02:37
#639 #639
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
# main_template aus DB lesen
my $statement = "SELECT template FROM template WHERE name='main_template'";
my $sth = $dbh->prepare($statement)          || die $dbh->errstr;
unless( my $rv = $sth->execute ){ die "Konnte main_template nicht aus Datenbank lesen"; }
my $template = HTML::Template->new(arrayref => $sth->fetchrow_arrayref() );
$sth->finish();

# self füttern
$template->param(SELF => $cgi->url(-relative=>1) . '?sid=' . $query->{sid});

# Ausgabe
print $template->output;


Das Template:
[html]
<h1>Login erfolgreich!</h1>
<ul>
<li>
<a href=" <TMPL_VAR NAME=SELF> ">weiter &gt;&gt;</a>
</li>
</ul>[/html]
http://www.intergastro-service.de (mein erstes CMS :) )
pktm
 2004-12-30 03:00
#640 #640
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
ALso ich habe es jetzt "gelöst" - sofern man davon sprechen mag.
Und zwar ist es schwierig das HTML::Template-Modul so zu nutzen wie ich es vorher gemacht habe.
Vorher, mit meinem eigenen Teil da habe ich beliebig viele Templates auslesen könen, ersetzen und an das nächste Template weitergeben können.
Also à la setzeWerteInTemplateEin( setzeWerteInTemplateEin( setzeWerteInTemplateEin( setzeWerteInTemplateEin( irgendeineDatei.dat ) ) ) ).
Das geht mit HTML::Template nicht so gut, ich weis auf jeden Fall noch nicht wie.
Jetzt habe ich "einfach" erneut ein Template-Objekt erstellt, dieses gefüttert, und den output dann der Temlatevariable zugeordnet.
Code (perl): (dl )
1
2
3
4
5
6
               
 my $zw_t = HTML::Template->new(arrayref => $sth->fetchrow_arrayref() );
               
 $zw_t->param(SELF => $cgi->url(-relative=>1) . '?sid=' . $query->{sid});
               
 $template->param( "inhalt" => $zw_t->output );

Wenn das jemand einfacher kann wäre ich ihm sehr verbunden, wenn er mir das mitteilen würde :)
Was ich allerdings nicht möchte ist noch ein zweites Templatesystem miteinzubauen.
Also wenn, dann will ich bei einem bleiben.
Oder könnt ihr einem Kunden beibringen, dass er für Templeatestücke in einem anderen Template eine andere Templatevariablensyntax beutzen muss wie für das main_tempplate ?!?
mfg pktm
http://www.intergastro-service.de (mein erstes CMS :) )
<< >> 4 Einträge, 1 Seite



View all threads created 2004-12-30 01:29.