Uzyskaj liczbę obserwujących i obserwujących w relacjach z użytkownikami

8

Utworzyłem obserwujących relacje, które można odwzajemniać za pomocą modułu relacji użytkownika. Teraz relacja użytkownika A wygląda następująco: Obserwujący (Oni dla Ciebie): Użytkownik B, Użytkownik C, Użytkownik D Obserwujący (Ty dla nich): Użytkownik D

Teraz chcę utworzyć widok, który pokazuje tylko liczbę obserwujących i następujące: Obserwujący: 3
Obserwowany: 1

Zacząłem tworzyć widok (Widoki 3, Drupal7), ale nie byłem w stanie tego zrobić. Nie otrzymałem żadnych filtrów ani relacji dotyczących tego. Próbowałem też użyć Calla Views, ale nie jestem pewien. Byłbym wdzięczny za każdą pomoc.

Dzięki

Edytować:

Przepraszamy za brak jasności.

Utworzyłem widok typu Użytkownicy. Następnie dodałem relację (w tej części nie jestem pewien, czy mam rację, czy nie). Próbowałem ze wszystkimi dostępnymi relacjami związanymi z tym, takimi jak relacje użytkownika:

 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

(próbowałem indywidualnie każdego z nich i ich różnych kombinacji)

Następnie w obszarze Inne kliknąłem opcję Tak, aby użyć opcji Agregaty, a kiedy zapytano mnie o funkcję grupowania („Typ grupy”), wybrałem opcję „Policz i odznacz etykietę na ekranie pola konfiguracji, aby wyświetlała tylko liczbę.

Dodałem również filtr, że użytkownik jest zalogowany. Jednak pokazuje mi tylko liczbę relacji różnych użytkowników, którzy zażądali bieżącego.

Edycja 2:

Znaleziono ten wątek: http://drupal.org/node/809476 . Jednak w przypadku Drupala 6 ... próbuję wdrożyć go w wersji 7. zobaczmy ... jeśli masz jakieś wskazówki, byłbym wdzięczny ... będę cię informować

Edycja 3:

Na podstawie powyższego wątku napisałem następujący kod w niestandardowym bloku.

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

Właśnie wydrukowałem identyfikator użytkownika, aby sprawdzić, czy jest poprawny, czy nie, i drukuje poprawnego użytkownika. Jednak policz odbitki 0. Dlaczego tak jest?

Edycja 4:

Myślę, że jestem na dobrej drodze, używając http://drupal.org/node/203396 . Istnieją jednak pewne poprawki. Prawidłowy kod to:

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

Wyświetla całkowitą liczbę zatwierdzonych relacji. Teraz chcę tylko numer relacji typu obserwujących. Patrząc na to. Jeśli ktoś ma jakieś sugestie, doceni je. Będzie was wszystkich na bieżąco

Edycja5:

A teraz utknąłem. Cokolwiek próbuję zrobić, otrzymuję tylko całkowitą liczbę relacji. Chcę tylko liczbę obserwujących (ich do ciebie) w jednym bloku, a następnie korzystając z tego, mam nadzieję, będę w stanie uzyskać liczbę obserwujących (ciebie do nich). Byłbym wdzięczny za każdą pomoc.

Dzięki

dlaczego
źródło
1
Czego próbowałeś? Jak w konkretnie co próbowałeś? Co nie działało? Czym różni się to, czego się spodziewałeś? Państwo musi pokazać, że próbowali rozwiązać problemy samemu, ta strona nie jest dla żądających tutoriali
Clive
może mogę użyć, function user_relationships_type_load($param = array(), $reset = NULL) ale potrzebuję wskazówek lub pomocy
dlaczego
Parametry parametru user_relationships_load obejmują również parametr między parametrami. „tablica („ między ”=> tablica ($ uid1, $ uid2)) zwróci wszystkie relacje między dwoma identyfikatorami użytkowników”
Mark Ferree
@kewal, czy byłeś w stanie rozwiązać problem? Potrzebuję tej funkcji w moim projekcie. Dzięki.
seyi
@seyi zrobiłem to używając wbudowanych dostępnych bloków i wyświetlając je za pomocą paneli ... możesz także użyć user_relationships_type_load ($ param = array (), $ reset = NULL) .... przepraszam, nie pamiętam dokładnych szczegółów ale wrócę do ciebie za jakiś czas, jeśli go znajdę ... pozdrawiam
dlaczego

Odpowiedzi:

1

Poniższa funkcja działa dla mnie, aby wyświetlić liczbę znajomych użytkownika:

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

Uwaga Liczę tylko zatwierdzonych znajomych i tylko relacje typu „Przyjaciel”

Druvision
źródło