Искать  
 
   
 
Функция “Был сегодня”
Отправлено: 24 Июнь 2011 11:57 A.M.   [ Игнорировать ]
Member
Avatar
RankRankRank
Всего сообщений:  363
Зарегистрирован  2009-01-02

Всем привет. делюсь решением: если пользователь заходил сегодня, то пишется: был сегодня в 11:30 например, если не был сегодня - пишется обычная дата типа 11.10.2011 (можно изменить по желанию.) Вот бы додумать еще чтобы выводилось ВЧЕРА тоже smile

Вот код:

{exp:query sql="SELECT last_activity, member_id FROM exp_members WHERE member_id = '1' "}
Был {if {last_activity format
="%j.%m.%Y"== {current_time format="%j.%m.%Y"}}сегодня в {last_activity format="%G.%i"}{if:else}{last_visit format="%j.%m.%Y"}{/if}
{
/exp:query} 
 Подпись 

Я в космосе

Профиль
 
 
Отправлено: 24 Июнь 2011 04:06 P.M.   [ Игнорировать ]   [ # 1 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

спасибо, полезная функция и решение достаточно простое.

 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 24 Июнь 2011 04:36 P.M.   [ Игнорировать ]   [ # 2 ]
Member
Avatar
RankRankRank
Всего сообщений:  224
Зарегистрирован  2010-11-20
Stop-TussiN - 24 Июнь 2011 11:57 A.M.

...Вот бы додумать еще чтобы выводилось ВЧЕРА тоже

{exp:query sql="SELECT last_activity FROM exp_members WHERE member_id = 1"}
Был
<?php
$ct  
'{current_time}';
$la  '{last_activity}';
$dif =  $ct $la;
?>
<?php 
if ($dif 180 AND $dif 3600): ?>
<?php 
echo round($dif 60) .' минут тому назад'?>
<?php 
endif ?>
<?php 
if ($dif 3600 AND $dif < (60 60 24)): ?>
<?php 
echo round($dif / (60 60)) .' часов тому назад'?>
<?php 
endif ?>
<?php 
if ($dif 86400): ?>
<?php 
echo round($dif / (60 60 24 )) .' дней тому назад'?>
<?php 
endif ?>
<?php 
if ($dif 180): ?>
<?php 
echo ' и есть :)'?>
<?php 
endif ?>
{
/exp:query} 
Профиль
 
 
Отправлено: 24 Июнь 2011 04:46 P.M.   [ Игнорировать ]   [ # 3 ]
Member
Avatar
RankRankRank
Всего сообщений:  363
Зарегистрирован  2009-01-02

Спасибо, очень круто )
осталось разобраться как сделать чтобы 1 час писался ЧАС, а 5 писалось ЧАСОВ и т.д. smile

 Подпись 

Я в космосе

Профиль
 
 
Отправлено: 16 Июль 2011 09:29 P.M.   [ Игнорировать ]   [ # 4 ]
Студент
Avatar
RankRank
Всего сообщений:  113
Зарегистрирован  2010-08-30
Stop-TussiN - 24 Июнь 2011 04:46 P.M.

Спасибо, очень круто )
осталось разобраться как сделать чтобы 1 час писался ЧАС, а 5 писалось ЧАСОВ и т.д. smile

function _word_cases($number$titles{
        $cases 
= array(201112);
        return 
$number " " $titles[($number 100 && $number 100 20) ? $cases[min($number 105)]];
    

Юзать:

$this->_word_cases(round($dif 60), array('минуту''минуты''минут')); 
Профиль