What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
As a rule of thumb, always pass dates to Smarty as
timestamps. This
allows template designers to use the date_format
modifier for full control over date formatting, and also makes it
easy to compare dates if necessary.
Example 18.4. Using date_format
{$startDate|date_format}
This will output:
Jan 4, 2009
{$startDate|date_format:"%Y/%m/%d"}
This will output:
2009/01/04
Dates can be compared in the template by timestamps with:
{if $order_date < $invoice_date} ...do something.. {/if}
When using
{html_select_date}
in a template, the programmer
will most likely want to convert the output from the form back into
timestamp format. Here is a function to help you with that.
Example 18.5. Converting form date elements back to a timestamp
<?php // this assumes your form elements are named // startDate_Day, startDate_Month, startDate_Year $startDate = makeTimeStamp($startDate_Year, $startDate_Month, $startDate_Day); function makeTimeStamp($year='', $month='', $day='') { if(empty($year)) { $year = strftime('%Y'); } if(empty($month)) { $month = strftime('%m'); } if(empty($day)) { $day = strftime('%d'); } return mktime(0, 0, 0, $month, $day, $year); } ?>
See also
{html_select_date}
,
{html_select_time}
,
date_format
and
$smarty.now
,