projects
/
kivitendo-erp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
e435033
)
L.truncate: Funktion zum intelligenten Verkürzen eines Strings
author
Moritz Bunkus
<m.bunkus@linet-services.de>
Wed, 29 Aug 2012 14:05:35 +0000
(16:05 +0200)
committer
Moritz Bunkus
<m.bunkus@linet-services.de>
Wed, 29 Aug 2012 14:05:35 +0000
(16:05 +0200)
SL/Template/Plugin/L.pm
patch
|
blob
|
history
diff --git
a/SL/Template/Plugin/L.pm
b/SL/Template/Plugin/L.pm
index
43ac5d2
..
8523db9
100644
(file)
--- a/
SL/Template/Plugin/L.pm
+++ b/
SL/Template/Plugin/L.pm
@@
-570,6
+570,18
@@
sub dump {
return '<pre>' . Data::Dumper::Dumper(@_) . '</pre>';
}
return '<pre>' . Data::Dumper::Dumper(@_) . '</pre>';
}
+sub truncate {
+ my ($self, $text, @slurp) = @_;
+ my %params = _hashify(@slurp);
+
+ $params{at} ||= 50;
+ $params{at} = 3 if 3 > $params{at};
+ $params{at} -= 3;
+
+ return $text if length($text) < $params{at};
+ return substr($text, 0, $params{at}) . '...';
+}
+
1;
__END__
1;
__END__
@@
-918,6
+930,16
@@
the resulting tab will get ignored by C<tabbed>:
L.tab('Awesome tab wih much info', '_much_info.html', if => SELF.wants_all)
L.tab('Awesome tab wih much info', '_much_info.html', if => SELF.wants_all)
+=item C<truncate $text, %params>
+
+Returns the C<$text> truncated after a certain number of
+characters.
+
+The number of characters to truncate at is determined by the parameter
+C<at> which defaults to 50. If the text is longer than C<$params{at}>
+then it will be truncated and postfixed with '...'. Otherwise it will
+be returned unmodified.
+
=back
=head1 MODULE AUTHORS
=back
=head1 MODULE AUTHORS