Страница 1 из 2

Убрать отображение времени регистрации пользователя

Добавлено: 09.06.2021 15:45
jurvrn-f
Можно ли стандартными средствами через настройку в админке, убрать только время регистрации пользователя. Мне оно не к чему.
Если нет то подскажите в каком файле содержится эта функция? удалю её прямо в шаблоне
изображение.png
.

Re: Убрать отображение времени регистрации пользователя

Добавлено: 11.06.2021 11:12
jurvrn-f
upd.
Как понял дата и время берется из базы и выводится

Код: Выделить всё

'POSTER_JOINED' => $user_cache[$poster_id]['joined']
(файл viewtopic.php)
Наверно надо применить какое-то форматирование к выводу и отсечь время....

Re: Убрать отображение времени регистрации пользователя

Добавлено: 11.06.2021 18:45
Татьяна5
Один шаг остался. Теперь ищите это POSTER_JOINED в файлах шаблона (названия у шаблонов говорящие)

Предупреждаю: стандартный prosilver в 3.3 не правят, чревато проблемами с расширениями и невозможностью быстро проверить не в стиле ли дело заодно. Можно создать свой стиль на основе prosilver и так делать что хочется

Re: Убрать отображение времени регистрации пользователя

Добавлено: 11.06.2021 21:46
jurvrn-f
Татьяна5, в моём стиле это файл viewtopic_body.html. И там строчка

Код: Выделить всё

<!-- IF postrow.POSTER_JOINED --><dd class="profile-joined"><strong>{L_JOINED}{L_COLON}</strong> {postrow.POSTER_JOINED}</dd><!-- ENDIF -->
времени там не видно (

Re: Убрать отображение времени регистрации пользователя

Добавлено: 11.06.2021 23:49
Татьяна5
jurvrn-f писал(а): 11.06.2021 11:12

Код: Выделить всё

'POSTER_JOINED' => $user_cache[$poster_id]['joined']
Если пройти выше по коду, то окажется, что в $user_cache[$poster_id]['joined'] лежит время

Re: Убрать отображение времени регистрации пользователя

Добавлено: 12.06.2021 14:29
jurvrn-f
Татьяна5, дальнейшее изучение показало что в viewtopic.php есть 'joined' => $user->format_date($row['user_regdate']) .
ну а в базе user_regdate в виде
изображение.png
- в секундах с начала эпохи UNIX.
получается что надо его отформатировать.... Но как? вместо

Код: Выделить всё

<!-- IF postrow.POSTER_JOINED --><dd class="profile-joined"><strong>{L_JOINED}{L_COLON}</strong> {postrow.POSTER_JOINED}</dd><!-- ENDIF -->
указать что-то вроде

Код: Выделить всё

<!-- IF postrow.POSTER_JOINED --><dd class="profile-joined"><strong>{L_JOINED}{L_COLON}</strong> {postrow.date_format(POSTER_JOINED, 'Y-m-d')}</dd><!-- ENDIF -->
Попробовать можно конечно этот вариант, но уверен что синтаксис неправильный

Re: Убрать отображение времени регистрации пользователя

Добавлено: 12.06.2021 14:39
Sheer
jurvrn-f писал(а): 12.06.2021 14:29 но уверен что синтаксис неправильный
Абсолютно. А вы не пробовали изучать Документацию?
изображение.png

Re: Убрать отображение времени регистрации пользователя

Добавлено: 12.06.2021 14:43
jurvrn-f
Sheer, спасибо, за замечание, но я не хочу трогать глобальные настройки, так как нужно убрать время, оставив только дату регистрации, только в боковой панели пользователя в темах и сообщениях.
Попробовал форматировать, получил закономерную ошибку, потому что по идее тут уже форматированная дата выводится
изображение.png

Re: Убрать отображение времени регистрации пользователя

Добавлено: 12.06.2021 14:46
Sheer
Настройки трогать не хочу, зато хочу поломать файлы движка. Ну-ну... :facepalm: Ломай. https://www.php.net/manual/ru/datetime.format.php

Re: Убрать отображение времени регистрации пользователя

Добавлено: 12.06.2021 14:48
jurvrn-f
Sheer, как крайний вариант - поменяю глобальные настройки. Пока опыты повожу над файлами (template) стиля.
См. предыдущее сообщение, дополнил скрином. Понимаю так что пытаюсь отформатировать уже отформатированную дату/
И даже так попробовал

Код: Выделить всё

<!-- IF postrow.POSTER_JOINED --><dd class="profile-joined"><strong>{L_JOINED}{L_COLON}</strong> <?php date_format('POSTER_JOINED', 'Y-m-d') ?></dd><!-- ENDIF -->
8-)

Re: Убрать отображение времени регистрации пользователя

Добавлено: 12.06.2021 15:00
rxu
jurvrn-f писал(а): 12.06.2021 14:48 И даже так попробовал
PHP код не работает в шаблоне.

Re: Убрать отображение времени регистрации пользователя

Добавлено: 12.06.2021 15:09
jurvrn-f
rxu писал(а): 12.06.2021 15:00 PHP код не работает в шаблоне.
так и понял, значит надо туда уже отформатированную переменную передать...
Sheer писал(а): 12.06.2021 14:46 Настройки трогать не хочу
потрогал - отображение даты регистрации не изменилось, хотя кэш и форума , и браузера очищал

Re: Убрать отображение времени регистрации пользователя

Добавлено: 12.06.2021 15:17
Sheer
jurvrn-f писал(а): 12.06.2021 15:09 отображение не изменилось
Есть еще личные настройки
Еще раз! Изучите документацию
rxu писал(а): 12.06.2021 15:00 PHP код не работает в шаблоне
PHP код работает php-скрипте

Код: Выделить всё

				'joined'		=> $user->format_date($row['user_regdate'], 'Y M d'),
Отправлено спустя 1 минуту 48 секунд:
И делать это надо при помощи расширения, благо событие для этого имеется.

Re: Убрать отображение времени регистрации пользователя

Добавлено: 12.06.2021 15:30
jurvrn-f
Sheer писал(а): 12.06.2021 15:19 И делать это надо при помощи расширения, благо событие для этого имеется
да, есть же расширение , которое считает время с момента регистрации, а не отображает его...

Отправлено спустя 50 секунд:
Sheer писал(а): 12.06.2021 15:19 Есть еще личные настройки
так вроде как нужны глобальные настройки, а не лично какого-то пользователя.

Отправлено спустя 2 минуты 28 секунд:
rxu, у вас есть расширение registeredfor. Не могли бы создать его форк - где бы из даты отображения регистрации пользователя в темах в боковой колонке - убиралось бы время

Отправлено спустя 6 минут 59 секунд:
Sheer писал(а): 12.06.2021 15:19 'joined' => $user->format_date($row['user_regdate'], 'Y M d'),
это надо править файлы движка, а не темы

Re: Убрать отображение времени регистрации пользователя

Добавлено: 12.06.2021 18:06
Татьяна5
А, только время убрать надо
На уровне шаблона используется twig, там работа с временем есть https://dev-gang.ru/doc/twig/filters/date/ . (Подводный камень этого подхода: пользователь может установить себе сам неподходящий формат даты)
Надёжней через php. Тот же registeredfor взять (раз есть подходящий по смыслу) и немного переделать вывод