Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]590[/thread]

Brauche CGI Nachilfe. (Seite 2)



<< |< 1 2 3 >| >> 21 Einträge, 3 Seiten
renee
 2005-10-12 12:09
#5766 #5766
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Dann mach mal ein no strict 'refs'; vorher...
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/
zipster
 2005-10-12 12:23
#5767 #5767
User since
2004-09-06
458 Artikel
BenutzerIn
[default_avatar]
JAAAA! Geil Renee...

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 foreach my $f (@{$element_liste_ref})
{
my $art = $f->{art};
my $bez = $f->{bez};
$bez .= "*" if $f->{muss}; # Sternchen hinzufügen
no strict 'refs';
push (@zeile, Tr (
td (escapeHTML ($art)),
#td (textfield (-name => $f->{name},
#-size => $f->{size}),
td($f->{art}(-name => $f->{name},
-size => $f->{siz},
))

));
}
print table (@zeile);


So gehts!

So nun mußt du mir aber noch erklären was
Code: (dl )
 no strict 'refs';

und
Code: (dl )
1
2
3
&{$f->{art}}(-name => $f->{name},
-size => $f->{siz},
))

für ne bedeutung hat.
nepos
 2005-10-12 12:58
#5768 #5768
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Das untere bedeutet, dass die Funktion deren Name in
Code: (dl )
$f->{art}
steckt aufgerufen werden soll und der Rest dann als Parameter an die Funktion geht. Du kannst dir das auch mal unter perldoc perlref nachlesen (der Punkt ueber symbolic references, da ist ein Beispiel dabei).
Da das ganze normal mit use strict; nicht erlaubt ist, schaltet er mit no strict 'refs' die strikte Ueberpruefung von Referenzen aus.\n\n

<!--EDIT|nepos|1129107658-->
zipster
 2005-10-12 13:01
#5769 #5769
User since
2004-09-06
458 Artikel
BenutzerIn
[default_avatar]
@Nepos.
Danke für deine Antwort. Mir ging es aber mehr um das
Code: (dl )
&{...}....

Das war nämlich das einzige das nicht von mir war... :blush:

no strict wußte garnicht das es sowas gibt ;) Müßte ich es danach wieder einschalten?\n\n

<!--EDIT|zipster|1129107830-->
nepos
 2005-10-12 14:19
#5770 #5770
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Nein, in deinem Fall nicht, da der Block am Ende deiner Schleife endet und damit auch die Gueltigkeit von no strict 'refs;.
Wie gesagt, naeheres findest du in perldoc perlref :)
So firm bin ich damit auch wieder nicht ;)
zipster
 2005-10-12 15:49
#5771 #5771
User since
2004-09-06
458 Artikel
BenutzerIn
[default_avatar]
Okay, dann mal Danke an alle beteiligten. Hab mal wieder viel gerlent ;)
zipster
 2005-10-18 15:57
#5772 #5772
User since
2004-09-06
458 Artikel
BenutzerIn
[default_avatar]
Da bin ich wieder mit einem neuen Problem :(

Ich würde gern folgende 2 Vorlagen umsetzten und zwar mit einer foreach Schleife.
Weil es von diesen Vorlagen noch ca. 5 weitere gibt und alle unterscheiden sich nur durch Kleinigkeiten(Siehe Bild).
http://home.arcor.de/zipster13/111.jpg
.
http://home.arcor.de/zipster13/112.jpg
Ich habe es schon selbst versucht, weiß aber ehrlich gesagt nicht wie ich es umsetzten soll.

Ich habe mir vorgestellt das man im Hash angibt in welcher Gruppe es ist und der Rest wir dann unten in der foreach Schleife sortiert.
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
$links_notebook{bestattungswunsch} =
[
{ art => "textfield", name => "muster 1",
bez => "Friedhof:", haupt => "1"},
....
{ art => "textfield", name => "muster 15",
bez => "Bestattungsunternehmen:", haupt => "2"},
....
{ art => "textfield", name => "muster 30",
bez => "Bestattungsunternehmen:", haupt => "3"},
....
]
....
sub anzeige_link
{

my $element_ref = shift;
my $link = shift;
my @fields;
my @zeile;
my $haupt = "0";
foreach my $f (@{$element_ref->{$link}})
{
if (defined $f->{haupt}){
....
my $bez = $f->{bez};
no strict 'refs';
push(@fields,Tr (
td (escapeHTML ($bez)),
td ($f->{art} (-name => $f->{name},
-size => $f->{size},
-rows => $f->{rows},
-cols => $f->{cols},
-wrap => $f->{wrap},
-value => $f->{value},
-label => $f->{label},
-checked => $f->{checked})
)
)
);
}
else
{
my $bez = $f->{bez};
no strict 'refs';
push(@fields,Tr (
....
}
push (@zeile, Tr (@fields));
print table (@zeile);

}



Gruß

Serioscha aka zipster\n\n

<!--EDIT|zipster|1129636801-->
renee
 2005-10-18 16:57
#5773 #5773
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ich würde die Datenstruktur etwas anders aufbauen:
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
$links_notebook{bestattungswunsch} = ( 1 => [
{ art => "textfield", name => "muster 1",
bez => "Friedhof:"},
....
],
2 => [ { art => "textfield", name => "muster 15",
bez => "Bestattungsunternehmen:",},
....
],);
....
sub anzeige_link
{

my $element_ref = shift;
my $link = shift;
my @fields;
my @zeile;
my $haupt = "0";
foreach my $key(sort{$a <=> $b}keys %{$element_ref->{$link}}){
# jetzt bist Du in den Hauptgruppen drin
print "Hauptgruppe $key";
foreach my $f (@{$element_ref->{$link}->{$key}}){
# wie bisher...
}
}
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/
zipster
 2005-10-18 17:10
#5774 #5774
User since
2004-09-06
458 Artikel
BenutzerIn
[default_avatar]
okay hört sich sehr gut an.
Aber was tue ich wenn es die HauptGruppe quasi nicht gibt?
Packe ich dann alles einfach in "Haupt 1" und gut is?
renee
 2005-10-18 17:19
#5775 #5775
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das musst Du entscheiden wie Du dann verfahren willst... kannst ja z.B. erst abfragen wieviel Hauptgruppen es gibt und danach entscheiden wie das Design aussehen soll...
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 3 >| >> 21 Einträge, 3 Seiten



View all threads created 2005-10-08 18:24.