форум vBSupport.ru > vBulletin > Вопрос — Ответ
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
inso
Знаток
 
inso's Avatar
Default Вместо даты регистрации отсчет дней с момента регистрации
0

Собственно вопрос в заголовке уже раскрыт. Как это делается?


Спасибо
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
OldEr
Специалист
Master
 
OldEr's Avatar
Default
2

Решение "в лоб": создаем новый модуль со следующими параметрами.

Местоположение модуля: postbit_display_complete
Заголовок: Show Registration Date As Days Count
Код:
PHP Code:
$post['joindate'] = floor((TIMENOW strtotime($post['joindate']))/86400); 
Также редактируем фразу либо postbit_legacy для соответствующего текстового представления ("Зарегистрирован Х дней назад" и т.д.).
 
 
inso
Знаток
 
inso's Avatar
Default
0

OldEr, спасибо завтра попробую. Не знаю, что такое модуль, но наверное в админке найду
 
 
Кот Бегемот
Мартовский Кот
 
Кот Бегемот's Avatar
Default
1

Quote:
Originally Posted by inso View Post
Не знаю, что такое модуль, но наверное в админке найду
Найдёте. Пункт "Продукты и модули".
 
 
inso
Знаток
 
inso's Avatar
Default
0

Сейчас понял, что на форуме, который я привел в пример, каким-то образом еще и падежи сохранены. Т.е. 581 день, 582 дня, 585 дней. Можете подсказать как?
 
 
kerk
k0t
 
kerk's Avatar
Default
3

PHP Code:
$last_digit substr($datestrlen($date) -11);
if(
$last_digit OR $last_digit 4)
{
    
$day_str 'дней';
}
else if(
$last_digit AND $last_digit 5)
{
    
$day_str 'дня';
}
else if(
$last_digit == 1)
{
    
$day_str 'день';

или здесь https://www.nulled.cc/threads/44272/#post-364961 включая год/года/лет/месяц/месяцев и т.д...
но самое простое, что бы не морочиться, выводить сокращенно = 581/582/585 дн.
 
 
inso
Знаток
 
inso's Avatar
Default
0

Спасибо огромное! С интернетом проблема дома - почему-то отрубился уже второй день. Как только заработает - опробую.
Quote:
Originally Posted by kerk View Post
но самое простое, что бы не морочиться, выводить сокращенно = 581/582/585 дн.
Даже в голову не пришло)
 
 
kerk
k0t
 
kerk's Avatar
Default
2

писал когда то скрипт "запись на мероприятие" с обратным отсчетом до начала мероприятия



там учитываются падежи всех полей
счетчик на яваскрипт разумеется
в том числе учитываются падежи год/месяц...
 
 
inso
Знаток
 
inso's Avatar
Default
0

Quote:
Originally Posted by OldEr View Post
Решение "в лоб": создаем новый модуль со следующими параметрами.

Местоположение модуля: postbit_display_complete
Заголовок: Show Registration Date As Days Count
Код:
PHP Code:
$post['joindate'] = floor((TIMENOW strtotime($post['joindate']))/86400); 
Также редактируем фразу либо postbit_legacy для соответствующего текстового представления ("Зарегистрирован Х дней назад" и т.д.).
Вылезла проблема: у меня разрешен постинг без регистрации, и после активации модуля у них тоже вылезает поле профиля с датой регистрации.

inso добавил 15.09.2016 в 08:11
Quote:
Originally Posted by kerk View Post
PHP Code:
$last_digit substr($datestrlen($date) -11);
if(
$last_digit OR $last_digit 4)
{
    
$day_str 'дней';
}
else if(
$last_digit AND $last_digit 5)
{
    
$day_str 'дня';
}
else if(
$last_digit == 1)
{
    
$day_str 'день';

или здесь https://www.nulled.cc/threads/44272/#post-364961 включая год/года/лет/месяц/месяцев и т.д...
но самое простое, что бы не морочиться, выводить сокращенно = 581/582/585 дн.
А куда этот код надо вставлять?

Last edited by inso : 09-15-2016 at 09:11 AM. Reason: Добавлено сообщение
 
 
OldEr
Специалист
Master
 
OldEr's Avatar
Default
2

Quote:
Originally Posted by inso View Post
Вылезла проблема: у меня разрешен постинг без регистрации, и после активации модуля у них тоже вылезает поле профиля с датой регистрации.
Добавьте условие в шаблон и не отображайте данный блок для гостей.
HTML Code:
<if condition="$show['member']">$post['joindate']</if>
Quote:
Originally Posted by inso View Post
А куда этот код надо вставлять?
PHP Code:
$last_digit substr($datestrlen($date) -11);
if(
$last_digit OR $last_digit 4)
{
    
$day_str ' дней';
}
else if(
$last_digit AND $last_digit 5)
{
    
$day_str ' дня';
}
else if(
$last_digit == 1)
{
    
$day_str ' день';
}  
$post['joindate'] = floor((TIMENOW strtotime($post['joindate']))/86400) . $day_str
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 11:47 PM.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Loading...