XF 2.0 Как изменить формат вывода даты?

jiptes

Участники
Сообщения
3
Реакции
0
Баллы
298
Здравствуйте. Есть сайт на XenForo v2.0.4
В нем у пользователей выводится дата регистрации в таком формате: Регистрация: 14/2/18
Необходимо изменить ее на такую: месяц с нами, 2 месяца с нами, и т.д.
На самом сайте выводится так:
Код:
<dd>{{ date($user.register_date) }}</dd>
Как можно это сделать, написать свою функцию?
 
Последнее редактирование:
jiptes, по моему опыту, через date без доп обработчиков это нельзя сделать, у меня добавлен код в preparePost:

PHP:
if (isset($post['register_date']))
        {
            $dayDiff = floor((XenForo_Application::$time - $post['register_date']) / 86400);
            $post['registered']['diff'] = $dayDiff;
            if ($dayDiff < 30)
            {
                $post['registered']['diff'] = $dayDiff;
                $post['registered']['phrase'] = 'dod_days';
            }
            elseif ($dayDiff < 365)
            {
                $post['registered']['diff'] = floor($dayDiff / 30);
                $post['registered']['phrase'] = 'dod_months';
            }
            else
            {
                $post['registered']['diff'] = floor($dayDiff / 365);
                $post['registered']['phrase'] = 'dod_years';
            }
        }

В зависимости от даты регистрации, считаем количество дней/месяцев/лет и берем нужную фразу. А уже в шаблонах используйте
HTML:
{xen:number $post.registered.diff} {$post.registered.phrase}
Дальше возитесь сами)
 
Последнее редактирование:
jiptes, по моему опыту, через date без доп обработчиков это нельзя сделать, у меня добавлен код в preparePost:

PHP:
if (isset($post['register_date']))
        {
            $dayDiff = floor((XenForo_Application::$time - $post['register_date']) / 86400);
            $post['registered']['diff'] = $dayDiff;
            if ($dayDiff < 30)
            {
                $post['registered']['diff'] = $dayDiff;
                $post['registered']['phrase'] = 'dod_days';
            }
            elseif ($dayDiff < 365)
            {
                $post['registered']['diff'] = floor($dayDiff / 30);
                $post['registered']['phrase'] = 'dod_months';
            }
            else
            {
                $post['registered']['diff'] = floor($dayDiff / 365);
                $post['registered']['phrase'] = 'dod_years';
            }
        }

В зависимости от даты регистрации, считаем количество дней/месяцев/лет и берем нужную фразу. А уже в шаблонах используйте {xen:number $post.registered.diff} {$post.registered.phrase}. Дальше возитесь сами)
Спасибо, буду смотреть
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу