DEMETR Создание сайтов в Казани

Опубликовано

Онлайн/Оффлайн статусы друзей в Drupal

Онлайн/Оффлайн статусы друзей в DrupalПоследние дни очень плотно изучаю систему Drupal и возникла следующая задача: вывести страницу с друзьями пользователя, указав при этом их статус (онлайн или оффлайн).

Как сделать на странице самого пользователя это не проблема. Пара строк кода. А как вывести статусы в списке друзей — тут я повозился.

В работе используются модули: Views, ImageCache

Настроил View следующим образом:
Онлайн/Оффлайн статусы друзей в Drupal

В настройках страницы View есть свойство «Адрес» (path), в него пишем: user/%/friends. Вместо % будет подставлять id пользователя.

Онлайн/Оффлайн статусы друзей в Drupal

Здесь по пунктам:
1. Жмем на ссылку «Информация»
2. Создаем файл views-view-table—user-relationships-browser—page.tpl.php в папке с нашей темой, он будет переопределять вывод.
3. Жмем на «Стиль ввода». Получаем код, который надо вставить в созданный файл.

Теперь остается оформить вывод. Я ставлю стиль «Таблица», а в php файле делаю цикл для вывода полей:

<?php $i=1; foreach ($rows as $count => $row): // Начинаем цикл ?>
     <div class="item clear-block <?=$i%3==0 ? 'last': ''?>"> <!--Открываем блок, если блок 3 в строке, то ставим ему класс last -->
     <?echo $row['picture']?> <!--выводим все нужные поля-->
     <?echo $row['value_1']?> <!--выводим все нужные поля-->
<?=$i%3==0 ? '<div class="clr"></div>': ''?> <!--Если i=3, т.е. третий элемент, то ставим перенос строки-->
<?php $i++; endforeach; ?>

Теперь самое главное — отображаем статус пользователя. В настройках View необходимо выводить поле «Пользователь: Последний доступ». Формат даты: Собственный. В поле «Пользовательский формат даты:» пишем d-m-Y G:i:s

Снова возвращаемся к нашему циклу, где мы выводим поля пользователя и дополняем код:

<?
$str = strtotime($row['access']); // получаем время последнего доступа
print (round((time()-$str)/60) < 15) ? t('Online') : t('Offline'); // Делаем проверку и выводим статус
?>

Результат:
Онлайн/Оффлайн статусы друзей в Drupal
Друзья выводятся в три колонки + у каждого отображается статус.

Рубрики КодМетки

Онлайн/Оффлайн статусы друзей в Drupal: 0 комментариев