X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FManual%2FCookbook.pod;h=2bf2840c0146c582dd613adf94c9992d8a622bfd;hb=3e53f0cdd06d090d5d93dd085dce0889ddd2ad02;hp=9f8b0eb39831b682691f367eafa629686e1ff8e1;hpb=aba949649162391bd2e93783e98aa12e33abbd17;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Manual/Cookbook.pod b/lib/Catalyst/Manual/Cookbook.pod index 9f8b0eb..2bf2840 100644 --- a/lib/Catalyst/Manual/Cookbook.pod +++ b/lib/Catalyst/Manual/Cookbook.pod @@ -68,7 +68,7 @@ Just use Catalyst::Model::CDBI::CRUD as baseclass. Modify the $c->form() parameters to match your needs, and don't forget to copy the templates. ;) -==head2 Serving static files and CSS as text/css +=head2 Serving static files and CSS as text/css If you want to serve static content (like images, txt or CSS) via Catalyst, then all you need is the plugin Catalyst::Plugin::Static as well as a small @@ -93,7 +93,7 @@ regex to set the MIME type for CSS to text/css. }, ); -==head2 Uploads with Catalyst +=head2 Uploads with Catalyst To implement uploads in Catalyst you need to have a HTML form similiar to this: @@ -135,6 +135,34 @@ module: $CGI::Simple::POST_MAX = 1048576000; + +=head2 Easily working with datetime objects. + +If you store datetime data in your tables, you can easily expand this column to +a L object which lets you call useful methods like ymd, mon and +datetime on it. + +In order to set it up, add something like the following to your CDBI Model Class, +if you are storing dates as ISO timestamps: + + __PACKAGE__->has_a( + mycolumn => 'Time::Piece', + inflate => sub { Time::Piece->strptime( shift, "%FT%H:%M:%S" ) }, + deflate => 'datetime' + ); + +or if you prefer to store dates in unix epoch time you can do something like this: + + __PACKAGE__->has_a( + mycolumn => 'Time::Piece', + inflate => sub { Time::Piece->strptime( shift, "%s" ) }, + deflate => 'epoch' + ); + +If you want to use another format in the database, you can change the strptime call +to fit your format, and use strftime to return it with your custom format to the +database during deflate. See the L and L docs for more info. + =head1 AUTHOR Sebastian Riedel, C