Schrift
[thread]8641[/thread]

HTML:Template: Wert Template Variable in HTML link

Leser: 2


<< |< 1 2 >| >> 14 Einträge, 2 Seiten
vaan
 2007-01-14 02:55
#73178 #73178
User since
2006-11-21
17 Artikel
BenutzerIn
[default_avatar]
Hi,

ich hab mich ein bisschen an dem Modul HTML::Template versucht, und ich fand's bis jetzt auch recht einfach zu nutzen, aber jetzt bin ich doch auf ein kleines Verständnisproblem gestossen.

Ich habe mir ein CGI-Skript geschrieben, welches aus einem bestimmten Verzeichnis alle Inhalte herausliest, dann hab ich mir ein HTML-Template erstellt mit den entsprechenden HTML::Template Variablen die Angezeigt werden sollen. Im CGI-Skript hab ich dann die Variablen befüllt und das Template mit den entsprechenden Methoden ausgegeben ... so weit so gut, ich hab jetzt alles schon in einer HTML Tabelle drin.

Jetzt möchte ich z.B. eine Lösch-Funktion bereitstellen für den User. Also hab ich in die HTML-Tabelle noch Trashcan icons mit aufgenommen, die ich jetzt mit einem Lösch-CGI verlinken will.

Problem=> irgendwie raff ich das mit den Parametern nicht und im Web find ich auch nix dazu, denn jetzt soll aus dem HTML ein Wert per link in das CGI-Skript übergeben werden und dann wieder in einem HTML::Template CGI genutzt werden.

Also nochmal:
CGI nach HTML-Template blick ich :o)
HTML-Template nach CGI blick ich nicht :o(

So sollte es im HTML aussehen:

<a href="\cgi-bin\check.cgi" value="<TMPL_VAR NAME="TRY">"><img src="../dui/images/icons/delete.gif" alt="" border="0"></a>

und dann sollte der value="<TMPL_VAR NAME="TRY">" an ein CGI Skript übergeben werden, welches ein neues HTML::Template erstellt, nur wie komm ich im CGI an den Wert der Variablen????


Oder bin ich ma wieder zu doof?!

Danke schon ma im Voraus!
bloonix
 2007-01-14 14:04
#73179 #73179
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=vaan,14.01.2007, 01:55]<a href="\cgi-bin\check.cgi" value="<TMPL_VAR NAME="TRY">"><img src="../dui/images/icons/delete.gif" alt="" border="0"></a>[/quote]
Ist das überhaupt mit "value" möglich? Ich kenne nur

<a href="/cgi-bin/check.cgi?param=value>Linkname</a>

[quote=vaan,14.01.2007, 01:55]und dann sollte der value="<TMPL_VAR NAME="TRY">" an ein CGI Skript übergeben werden, welches ein neues HTML::Template erstellt, nur wie komm ich im CGI an den Wert der Variablen?[/quote]
Um den Wert im CGI-Skript auszulesen...

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


$vars ist eine Hashreferenz und hat den Aufbau

$vars->{$param} = $value\n\n

<!--EDIT|opi|1168776284-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
nepos
 2007-01-15 14:09
#73180 #73180
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
So geht das nicht mit dem Link. Wenn du deinem Skript einen Wert übergeben willst, dann musst du den Link so aufbauen:
Code: (dl )
<a href="/cgi-bin/check.cgi?param1=value1&param2=value2">...

Zum Auslesen benutzt du die param()-Funktion:
Code: (dl )
my $value = $cgi->param('param1');
vaan
 2007-01-15 20:59
#73181 #73181
User since
2006-11-21
17 Artikel
BenutzerIn
[default_avatar]
Hi Leute, vielen Dank erst mal für die schnellen Antworten, aber ich glaub ich bin zu dumm um das umzusetzten :(

Mein link im HTML sieht jetzt so aus:
<a href="\cgi-bin\check.cgi?param1=<TMPL_VAR NAME="REPORTFOLDER">">

dabei seh ich dann im Adressfenster meiner Browsers, dass der Variableninhalt an die URL gehängt wird.

Im CGI habe ich jetzt folgende Variante versucht:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!C:/Perl/bin/perl.exe
use HTML::Template;

my $cgi = new CGI;
my $var = $cgi->param('param1');

my $template = HTML::Template->new(filename => '..\\htdocs\\dropui\\check.tmpl');

 # fill in some parameters in the template;

 $template->param(CHECK => $var);

 # send the obligatory Content-Type
 print "Content-Type: text/html\n\n";

 # print the template
 print $template->output;



funzt nur leider nicht, ich weiss nicht an was es liegt!?

edit pq: code-tags hinzugefügt\n\n

<!--EDIT|pq|1168887853-->
vaan
 2007-01-15 21:00
#73182 #73182
User since
2006-11-21
17 Artikel
BenutzerIn
[default_avatar]
die 2 letzten smileys sollten eigentlich shcließende klammern darstellen
pq
 2007-01-15 21:03
#73183 #73183
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=vaan,15.01.2007, 20:00]die 2 letzten smileys sollten eigentlich shcließende klammern darstellen[/quote]
ja, dafür gibt es code-tags. schaue diesbezüglich bitte in meine signatur.
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
vaan
 2007-01-15 21:17
#73184 #73184
User since
2006-11-21
17 Artikel
BenutzerIn
[default_avatar]
@pq, sorry, hab die schnellantwort Funktion genutzt.

Aber ich hab's jetzt endlich! Und der Fehler ist so bescheuert, dass ich mich es gar nicht richtig traue den hier zu zugeben !!!

Shame on me!!!

Ich habe
Code: (dl )
use CGI;
vergessen! :-)
pktm
 2007-01-16 01:53
#73185 #73185
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Und use strict; und use warnings;  :)
http://www.intergastro-service.de (mein erstes CMS :) )
bloonix
 2007-01-16 11:51
#73186 #73186
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=vaan,14.01.2007, 01:55]border="0"[/quote]
style="border: none;" wäre zudem um einiges moderner.
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
GwenDragon
 2007-01-16 12:48
#73187 #73187
User since
2005-01-17
14761 Artikel
Admin1
[Homepage]
user image
[quote=opi,16.01.2007, 10:51][quote=vaan,14.01.2007, 01:55]border="0"[/quote]
style="border: none;" wäre zudem um einiges moderner.[/quote]
Kommt auf den HTML-Standard, sprich DocType an ;)

Besser iost es allemal auf Inline-CSS zu verzichten und gleich Klassen oder ID zu verwenden udn im Stylsheet selbst alls zu formatieren. Das macht den HTML-Code schlank - macht sich bei Seiten mit Millionen Abrufen bemerkbar und spart Traffic und Festplattenspeicherplatz.
<< |< 1 2 >| >> 14 Einträge, 2 Seiten



View all threads created 2007-01-14 02:55.