Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 6aeb9a74

Von Sven Schöling vor mehr als 6 Jahren hinzugefügt

  • ID 6aeb9a748849731b6ca8f63e661eb9807112755d
  • Vorgänger be5cae09
  • Nachfolger c4f7ec71

Presenter::Tag: singleton tags

Vorher wurden alle tags als singleton (also ohne schließenden Tag)
gerendert, wenn sie keinen content hatten. Das geht aber kaputt bei
textarea, weil ein einfaches <textarea> den kompletten folgenden HTML
Code als Content interpretiert.

Ab jetzt werden nur die Tags ohne Content als singleton gerendert, bei
denen das im Standard erlaubt ist.

Unterschiede anzeigen:

SL/Presenter/Tag.pm
20 20
  readonly selected hidden
21 21
);
22 22

  
23
my %_singleton_tags = map { $_ => 1 } qw(
24
  area base br col command embed hr img input keygen link meta param source
25
  track wbr
26
);
27

  
23 28
sub _call_on {
24 29
  my ($object, $method, @params) = @_;
25 30
  return $object->$method(@params);
......
58 63
  my ($tag, $content, %params) = @_;
59 64
  my $attributes = stringify_attributes(%params);
60 65

  
61
  return "<${tag}${attributes}>" unless defined($content);
66
  return "<${tag}${attributes}>" if !defined($content) && $_singleton_tags{$tag};
62 67
  return "<${tag}${attributes}>${content}</${tag}>";
63 68
}
64 69

  

Auch abrufbar als: Unified diff