Отримайте кількість підписників та користувачів у стосунках із користувачем


8

Я створив послідовники відносин, які можна відповісти за допомогою модуля відносин з користувачем. Зараз стосунки користувача A є чимось на зразок: Підписники (Тебе вам): Користувач B, Користувач C, Користувач D Підписники (Ви їм): Користувач D

Тепер я хочу створити представлення, яке відображає лише кількість підписників і наступне: Підписник: 3
Наступний: 1

Я збирався створити вигляд (Перегляди 3, Drupal7), але зробити це не зміг. Не отримали жодних фільтрів чи стосунків щодо цього. Також спробував використовувати Views Cal, але мені не ясно. Буду вдячний за будь-яку допомогу.

Дякую

Редагувати:

Вибачте за неясність.

Я створив подання типу Користувачі. Тоді я додав відносини (це та частина, де я не впевнений, я правильно чи ні). Я намагався зі всіма доступними стосунками, що стосуються цього, наприклад, стосунки з користувачами:

 User relationships: Requestee user
 User relationships: Requestee user is current user 
 User relationships: Requester user
 User relationships: Requester user is current user
 User relationships: RTID

(я пробував індивідуально всі їх, а також різні їх комбінації)

Потім у розділі Інші я натиснув "Так" для використання "Агрегати", і коли мене запитали про функцію групування ("Тип групи"), я вибрав "Порахувати та зняти галочку з позначки на екрані поля налаштування, щоб вона відображала лише число.

Я також додав фільтр, з яким користувач увійшов у систему. Однак він просто показує мені кількість стосунків різних користувачів, які запитували поточного.

Редагувати 2:

Знайдено цю тему: http://drupal.org/node/809476 . Однак це для Drupal 6 ..., я намагаюся реалізувати його для 7. давайте подивимось ... якщо у вас є якісь покажчики, я буду вдячний ... буду тримати вас у курсі

Редагувати 3:

На основі вищенаведеної теми я написав наступний код у користувацький блок.

<?php
global $user;
$user_id = $user->uid;
$params = array("requestee_id" => $user_id, 'rtid' => 3);
$count = user_relationships_load($params, array("count" => TRUE));
echo $user_id;
echo $count;
?>

Я просто роздрукував ідентифікатор користувача, щоб перевірити, чи правильний користувач чи ні, і він друкує правильного користувача. Однак порахуйте відбитки 0. Чому це?

Редагувати 4:

Я думаю, що я на вірному шляху, використовуючи http://drupal.org/node/203396 . Однак є деякі виправлення. Правильний код:

<?php
global $user;
$requests = user_relationships_load($param = array("approved" => 1, "user" => $user->uid), $options = array(), $reset = FALSE);
$requestcount = count($requests);
echo  $requestcount;
?>

Тут відображається загальна кількість затверджених відносин. Тепер я хочу лише підписники типу номер зв'язку. Дивлячись на це. Якщо хтось має якісь пропозиції, то вдячний би їм. Буде в курсі всіх вас

Редагувати5:

І ось я застряг. Що б я не намагався зробити, я отримую лише загальну кількість відносин. Я просто хочу кількість підписників (їх вам) в одному блоці, а потім, використовуючи це, я сподіваюся, я зможу отримати кількість наступних (ви для них). Буду вдячний за будь-яку допомогу.

Дякую


1
Що ви пробували? Як конкретно, що ви пробували? Що не вийшло? Як те, що ви спробували, відрізнялося від того, що ви очікували? Ви повинні показати, що ви намагалися вирішити проблеми самостійно. Цей веб-сайт не вимагає навчальних посібників
Clive

можливо, я можу використати, function user_relationships_type_load($param = array(), $reset = NULL) але мені потрібен певний напрямок чи допомога
чому

Параметри для user_relationships_load також включають параметр між. "array (" between "=> масив ($ uid1, $ uid2)) поверне всі відносини між двома ідентифікаторами користувачів"
Mark Ferree

@kewal, чи могли ви вирішити проблему? У мене є потреба в цій функції у своєму проекті. Дякую.
seyi

@seyi я зробив це за допомогою вбудованих блоків, доступних і відображаючи їх через панелі ... також ви можете використовувати user_relationships_type_load ($ param = array (), $ reset = NULL) .... вибачте, я не можу запам’ятати точні деталі але я б повернувся до вас за деякий час, якщо я знайду ... з повагою
чому

Відповіді:


1

Наступна функція працює для мене, щоб відобразити кількість друзів у користувача:

function mymodule_user_friends_count ($user) {
  $count = user_relationships_load(
    array("user" => $user->uid, 'approved' => 1, "name"=>'Friend'), 
    array('count' => TRUE));
  return $count;
}

Зауважте, я рахую лише схвалених друзів та лише стосунки типу "Друг"

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.