2016-07-15 9 views
0

Итак, у меня есть эти шаблоны (.tpl файлов), которые генерирует Smarty. У меня есть переменная {$projects.laycanenddate}, которая содержит дату в формате строки 12/24/2016, но мне нужно, чтобы она отображалась в формате 24-Dec-16.Формат строки даты в Smarty

Я попытался разборе как текст с кодом

{php} 
     $date = date_create($projects.laycanenddate); 
     $projects.laycanenddate = date_format($date, 'Y-m-d H:i:s'); 
    {/php} 

<div class="right_olbl"> {$projects.laycanenddate} </div> 

Но это не работает, так как он игнорирует {php}...{/php}, как если бы его там не было. Я читал, что есть также теги <?php ... ?>, но я потерял то, что я должен использовать. Любая помощь будет принята с благодарностью!

ответ

2

Просто назначить дату

$smarty->assign('date', strtotime('-1 day')); 

Формат в TPL с помощью Smarty:

{$date|date_format:'%e-%b-%y'} 
+0

Это назначение производится в том же '.tpl' файл? Я спрашиваю, потому что я использую nsmarty (порт Smarty для Node.js), и я не обязательно работаю с файлами '.php'. – user3272401

+0

ya он должен работать со всеми синтаксисами Smarty 3 (и Smarty 2). автор nsmarty – pradeep

0

{php} больше не поддерживается smarty (это была плохая идея в первую очередь). Просто используйте модификатор date_format. Read the documentation

Смежные вопросы