Дата в смарти
Нужно вывести сокращенное название месяца, но работает только полное:
Пробовал:
Не работает. Можно ли? Придумал только скрывать div-ом часть месяца, но это не правильно как-то.
{date_format date=$oTopic->getDateAdd() format="F"}
Пробовал:
{date_format date=$oTopic->getDateAdd() format="f"} {date_format date=$oTopic->getDateAdd() format="b"}
Не работает. Можно ли? Придумал только скрывать div-ом часть месяца, но это не правильно как-то.
13 комментариев
Давно делал, div-ом перекрывал, сейчас хочу сделать правильней, если это конечно возможно без лишних заморочек.
В файле engine/modules/viewer/plugs/function.date_format.php в конце заменяем следующим кодом:
/** * Если не найден индекс склонения, берем склонене по умолчанию. * Если индекс по умолчанию также не определен, берем первое значение в массиве. */ if(is_array($sMonth)) { $sMonth = isset($sMonth[$iDeclination]) ? $sMonth[$iDeclination] : $sMonth[$iDeclinationDefault]; } $aShortMonth = $oEngine->Lang_Get('month_short_array'); $sShortMonth = isset($aShortMonth[$iMonth]) ? $aShortMonth[$iMonth] : ""; $sFormat=preg_replace("~(?<!\\\\)F~U",preg_replace('~(\w{1})~u','\\\${1}',$sMonth),$sFormat); $sFormat=preg_replace("~(?<!\\\\)M~U",preg_replace('~(\w{1})~u','\\\${1}',$sShortMonth),$sFormat); return date($sFormat,$iDate);
В языковом файле надо задать вот такой массив:
А использовать так:
И соответственно в папку myplugin/classes/modules/viewer/plugs/ ставишь файл function.date_format.php.
Не уверен что это сработает в случае для замены уже существующего плагина, но для создания нового работает. Я это использовал в TimeToRead.