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:
Обычно даты в Smarty всегда передаются как
временные метки (англ. timestamp),
что позволяет проектировщикам шаблонов использовать date_format
для полного контроля над форматированием даты и также делает легким
сравнение дат там, где это необходимо.
Начиная с версии Smarty 1.4.0, вы можете передавать даты в Smarty в виде меток времени Unix (unix timestamps), mysql, или в любом другом виде, который понимает функция strtotime().
Example 18.4. Использование date_format
{$startDate|date_format}
Результат работы:
Jan 4, 2009
{$startDate|date_format:"%Y/%m/%d"}
Результат работы:
2009/01/04
Даты можно ставнивать в шаблонах путем сравнения меток времени следующим образом:
{if $date1 < $date2} ... делаем что-то полезное ... {/if}
Когда
{html_select_date}
используется в шаблоне, программист наверняка захочет преобразовать
данные из формы назад в формат временной метки. Вот функция, которая
поможет вам сделать это.
Example 18.5. Преобразование элементов формы ввода даты назад к временной метке
<?php // Предполагается, что ваши элементы формы названы // 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); } ?>
См. также
{html_select_date}
,
{html_select_time}
,
date_format
и
$smarty.now