Schrift
[thread]358[/thread]

Grenze von HTML::Template?



<< >> 4 Einträge, 1 Seite
esskar
 2004-08-13 03:08
#3448 #3448
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Code: (dl )
1
2
3
4
5
6
7
8
9
10
<table border="0" cellpadding="0" cellspacing="0">
<TMPL_LOOP NAME=FOLDERICONS_ROWS>
<tr>
<TMPL_LOOP NAME=FOLDERICONS_COLS>
  <td><input type="radio" id="folderimage" name="folderimage" /></td>
  <td><img src="<TMPL_VAR NAME=FOLDERICONSRC>" alt="<TMPL_VAR NAME=FOLDERICONALT>" width="<TMPL_VAR NAME=FOLDERICONX>" height="<TMPL_VAR NAME=FOLDERICONY>" /></td>
</TMPL_LOOP>
</tr>
</TMPL_LOOP>
</table>


wie kann ich jetzt sagen, welche der checkboxen gescheckt ist?

der code, der die sache füllt, ist folgender:

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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
sub callback_readfiles
{
  my ($folder, $proc, @param) = @_;

  my $count = 0;
  my $dir = undef;
  if(opendir($dir, $folder))
  {
     while(defined(my $file = readdir($dir)))
     {
        my $filepath = "$folder/$file";

        next if $file =~ /^\.\.?$/;
        next if -d $filepath;

        $proc->($filepath, @param) if $proc;
        $count++;
     }

     closedir($dir);
  }

  return $count;
}

sub get_filename
{
  my ($file) = @_;

  $file =~ s!\\!/!g;
  my @parts = split(/\//, $file);
  return pop @parts;
}

use constant FOLDER_FOLDERIMAGES => $Vars::CONFIG{'FOLDER_SKIN'}.'/Images/Folders';
use constant FOLDER_ICONWIDTH => 20;
use constant FOLDER_ICONHEIGHT => 20;
use constant FOLDER_MAXICONCOL => 5;

use vars qw($FOLDERCOL $FOLDERROW);

$FOLDERCOL = 0;
$FOLDERROW = 0;
sub enum_foldericons_cb
{
  my ($filename, $retval) = @_;
  my %data = ();

  $data{FOLDERICONX} = FOLDER_ICONWIDTH;
  $data{FOLDERICONY} = FOLDER_ICONHEIGHT;
  $data{FOLDERICONSRC} = $filename;
  $data{FOLDERICONALT} = Global::get_filename($filename);

  $retval->[$FOLDERROW] = {} unless defined $retval->[$FOLDERROW];
  $retval->[$FOLDERROW]->{FOLDERICONS_COLS} = [] unless defined $retval->[$FOLDERROW]->{FOLDERICONS_COLS};

  push @{$retval->[$FOLDERROW]->{FOLDERICONS_COLS}}, \%data;

  $FOLDERCOL++;
  if($FOLDERCOL >= FOLDER_MAXICONCOL)
  {
     $FOLDERROW++;
     $FOLDERCOL = 0;
  }
}

sub enum_foldericons
{
  my ($obj, $tpl) = @_;
  my @loop = ();

  Global::callback_readfiles(FOLDER_FOLDERIMAGES, \&enum_foldericons_cb, \@loop);
  $tpl->param(FOLDERICONS_ROWS => \@loop);
}
\n\n

<!--EDIT|esskar|1092353770-->
esskar
 2004-08-13 03:51
#3449 #3449
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
ich hab mich glaube ich selbst ausgetrickst

Code: (dl )
1
2
3
4
5
6
7
8
9
10
<table border="0" cellpadding="0" cellspacing="0">
<TMPL_LOOP NAME=FOLDERICONS_ROWS>
<tr>
<TMPL_LOOP NAME=FOLDERICONS_COLS>
<td><input type="radio" id="folderimage" name="folderimage" /></td>
<td><img src="<TMPL_VAR NAME=FOLDERICONSRC>" alt="<TMPL_VAR NAME=FOLDERICONALT>" width="<TMPL_VAR NAME=FOLDERICONX>" height="<TMPL_VAR NAME=FOLDERICONY>" value="<TMPL_VAR NAME=FOLDERICONVALUE>" <TMPL_IF NAME=CHECKED>checked="checked"</TMPL_IF> /></td>" /></td>
</TMPL_LOOP>
</tr>
</TMPL_LOOP>
</table>


und jetzt muss ich eben nur noch CHECKED setzen, wenn es eben so ist! :P
renee
 2004-08-13 10:37
#3450 #3450
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wenn Du Logik aus dem Template haben willst, kannst Du auch einfach <TMPL_VAR NAME=CHECKED> machen... Und dann halt für das Element, das auf checked gesetzt werden soll, den Text 'checked="checked"' übergeben. Nicht gesetzte Parameter werden von HTML::Template einfach leer gelassen...

Das Attribut checked, soll aber bestimmt nicht in den <img>-Tag, oder?? Das ist eher ein Attribut für den <input>-Tag...
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/
esskar
 2004-08-13 13:42
#3451 #3451
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
ja... hast recht; war ein wenig verwirrt gestern...
habe es gestern geändert...

zu der <TMPL_VAR NAME=CHECKED> methode:
ich will kein stück html in meinem perl-script; deswegen das IF
<< >> 4 Einträge, 1 Seite



View all threads created 2004-08-13 03:08.