Smarty: первые шаги

28th November 2004 - 23:28

date_format в Smarty формирует дату по заданному формату strftime(). Хочется формата date().

/templates/*.tpl

{$post.timestamp|date_imfo}

/plugins/modifier_date_imfo.php

function smarty_modifier_date_imfo ($string, $format='jS F - H:i')
{
    return ($string!='') ? date($format,$string) : '';
}

Приходится инклудить файл ради одной стандартной функции PHP. Издержки универсальности. По-другому нельзя? Или Б. с ним?

Categories: PHP | comments: (5)

Комментарии

1. Латрек 29th November 2004 - 00:45

А почему тебе не нравится strftime?

Mash:

Для strftime() не нашёл формат «28th …». Да и date_format — тоже modifier (так же инклюдится). Вопрос действительно из серии «первые шаги». Я пока в механизмы/идеологию вникаю. Просто интересно: именно так поступают обычно или можно сделать лучше?

2. Латрек 29th November 2004 - 01:55

Хм… я тоже такого формата не нашел, во всяком случае тут ничего подобного нет.

А по поводу инклюда … он ведь происходит только один раз и то только тогда, когда это нужно

Mash:

Спасибо. Оставлю как есть и пойду спать. :)

3. dull.ru 28th December 2004 - 05:57

проблема с date() в том, что она не рассматривает локаль )) увы.

4. Макс 14th January 2005 - 18:40

Такой вот простой вопрос, но нигде не могу найти ответа. Как внутрь PHP кода {php}{/php} вставить результаты запроса в коде Smarty? То есть, как смешать оба кода, чтобы всё отображалось? Например (это только принципиальный пример:

{init_articlelist name=«articlelist1» parent=1072}
{foreach from=$articlelist1 item=articles1 key=artkey1}
{if $artkey1 < 3}
{init_article id=$articles1->id name=«article1»}
{php}
echo «{$articles1->date}<br>{$articles1->title}<br><br>»;
{/php}
{/if}
{/foreach}

Вот как эти {$articles1->date} и {$articles1->title} вставить между {php} и {/php}, чтобы всё работало?

5. nalevo 17th February 2005 - 16:37

Вот вы лучше посоветуйте как форматировать даты до 1970-го года???

Комментарии временно отключены.