Фильтруя базар

Sep 12, 2007 19:54

Написал собственный фильтр для TT. Это оказалось достаточно просто:
package MyApp::View::TT; use strict; use base 'Catalyst::View::TT'; use POSIX 'strftime'; __PACKAGE__->config({ ... FILTERS => { 'date' => \&filter_date }, ... }); =head2 filter_date Фильтр. Форматирует дату: преобразовывает её из вида, возвращаемого MySQL YYYY-MM-DD в определяемую локалью DD.MM.YYYY =cut sub filter_date { my $date = shift; return unless $date; my ($yyyy, $mm, $dd) = ($date =~ /(\d+)\D+(\d+)\D+(\d+)/) or return; return strftime('%x', 0, 0, 0, $dd, $mm-1, $yyyy-1900); } # sub filter_date
Теперь даты выводятся в правильном виде, как ДД.ММ.ГГГГ, а не как ГГГГ-ММ-ДД. Причём вызывать фильтр гораздо удобнее, чем обычные функции:[% some_date | date %]

программизм, tt, perl, catalyst

Previous post Next post
Up