Получить количество подписчиков и подписчиков в отношениях пользователя


8

Я создал отношения Подписчиков, на которые можно ответить взаимностью, используя модуль отношений с пользователем. Теперь отношения пользователя А выглядят примерно так: Подписчики (к вам): Пользователь Б, Пользователь С, Пользователь Д Подписчики (к вам): Пользователь Д

Теперь я хочу создать представление, которое показывает только число подписчиков и следующее: Подписчик: 3
Подписан: 1

Я собирался создать представление (Views 3, Drupal7), но не смог сделать. Не получил никаких фильтров или отношений по этому поводу. Кроме того, попытался использовать Views Cal, но не ясно. Буду признателен за любую помощь.

Спасибо

Редактировать:

Извиняюсь за то, что не ясно.

Я создал вид типа Users. Затем я добавил отношения (это та часть, где я не уверен, прав я или нет). Я попытался со всеми доступными отношениями, относящимися к этому, такими как отношения пользователя:

 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;
?>

Это отображает общее количество утвержденных отношений. Теперь я хочу только номер отношения типа последователей. Глядя на это. Если у кого-то есть какие-либо предложения, буду благодарен им. Буду держать вас всех в курсе

Edit5:

И теперь я застрял. Все, что я пытаюсь сделать, я получаю только общее количество отношений. Я просто хочу, чтобы число подписчиков (их вам) в одном блоке, а затем, используя это, я надеюсь, я смогу получить количество подписчиков (вас к ним). Буду признателен за любую помощь.

Спасибо


1
Что вы пробовали? Как конкретно, что вы пробовали? Что не сработало? Чем то, что вы пробовали, отличается от того, что вы ожидали? Вы должны показать, что пытались решить проблемы самостоятельно, этот веб-сайт не предназначен для запрашивания учебных пособий
Клайв

Может быть, я могу использовать, function user_relationships_type_load($param = array(), $reset = NULL) но мне нужно какое-то направление или помощь
почему

Параметры для user_relationships_load также включают в себя промежуточный параметр. «массив (« между »=> массивом ($ uid1, $ uid2)) вернет все отношения между двумя идентификаторами пользователя»
Марк Ферри

@ kewal, пожалуйста, вы смогли решить проблему? У меня есть потребность в этой функции в моем проекте. Спасибо.
Сэй

@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.