Obtenez le nombre de followers et de suivis dans la relation utilisateur

8

J'ai créé une relation Followers qui peut être réciproque en utilisant le module de relation utilisateur. Maintenant, la relation de l'utilisateur A est quelque chose comme: Abonnés (à vous): utilisateur B, utilisateur C, utilisateur D Abonnés (vous à eux): utilisateur D

Maintenant, je veux créer une vue qui ne montre que le nombre d'abonnés et les suivants: Suiveur: 3 Suivants
: 1

J'ai voulu créer la vue (Vues 3, Drupal7) mais je n'ai pas pu le faire. N'a pas obtenu de filtres ou de relations à ce sujet. Aussi, j'ai essayé d'utiliser le Views Cal mais je ne suis pas clair. J'apprécierais toute aide.

Merci

Éditer:

Toutes mes excuses pour ne pas être clair.

J'ai créé une vue de type Utilisateurs. Ensuite, j'ai ajouté une relation (c'est la partie où je ne sais pas si j'ai raison ou non). J'ai essayé avec toutes les relations disponibles à ce sujet telles que les relations avec les utilisateurs:

 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

(J'ai essayé individuellement chacun d'eux et diverses combinaisons d'entre eux également)

Ensuite, sous Autres, j'ai cliqué sur Oui pour utiliser les agrégats et lorsqu'on m'a demandé la fonction de regroupement ("Type de groupe"), j'ai sélectionné "Compter et décoché l'étiquette dans l'écran de configuration du champ, afin qu'elle affiche uniquement le nombre.

J'ai également ajouté un filtre que l'utilisateur est connecté. Cependant, il me montre simplement le nombre de relations des différents utilisateurs qui ont demandé celui en cours.

Modifier 2:

Trouvé ce fil: http://drupal.org/node/809476 . Cependant, c'est pour Drupal 6 ..., j'essaye de l'implémenter pour 7. laisse voir ... si vous avez des pointeurs, je vous serais reconnaissant ... vous tiendrons au courant

Modifier 3:

Sur la base du fil ci-dessus, j'ai écrit le code suivant dans un bloc personnalisé.

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

Je viens d'imprimer l'ID utilisateur pour vérifier si l'utilisateur est correct ou non et il imprime l'utilisateur correct. Cependant, compter imprime 0. Pourquoi?

Édition 4:

Je pense que je suis sur la bonne voie en utilisant http://drupal.org/node/203396 . Cependant, il existe quelques correctifs. Le bon code est:

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

Cela affiche le nombre total de relations approuvées. Maintenant, je veux seulement le numéro de relation de type followers. En regardant cela. Si quelqu'un a des suggestions, il les apprécierait. Vous tiendra tous au courant

Edit5:

Et maintenant je suis coincé. Quoi que j'essaye de faire, je ne reçois que le nombre total de relations. Je veux juste le nombre de followers (eux pour vous) dans un bloc et ensuite en utilisant cela, j'espère, je serai en mesure d'obtenir le nombre de followers (vous à eux). J'apprécierais toute aide.

Merci

Pourquoi
la source
1
Qu'as-tu essayé? Comme en particulier qu'avez-vous essayé? Qu'est-ce qui n'a pas fonctionné? En quoi ce que vous avez essayé différait-il de ce que vous attendiez? Vous devez montrer que vous avez essayé de résoudre les problèmes vous-même, ce site Web n'est pas destiné à demander des tutoriels
Clive
peut-être que je peux utiliser function user_relationships_type_load($param = array(), $reset = NULL) mais j'ai besoin d'aide ou de direction
pourquoi le
Les paramètres de user_relationships_load incluent également un paramètre entre. "array (" between "=> array ($ uid1, $ uid2)) renverra toutes les relations entre les deux identifiants utilisateur"
Mark Ferree
@kewal, avez-vous pu résoudre le problème? J'ai besoin de cette fonction dans mon projet. Merci.
seyi
@seyi je l'ai fait en utilisant les blocs intégrés disponibles et en les affichant via des panneaux ... vous pouvez également utiliser user_relationships_type_load ($ param = array (), $ reset = NULL) .... désolé, je ne peux pas me souvenir des détails exacts mais je vous répondrai dans un certain temps si je le trouve ... salutations
pourquoi

Réponses:

1

La fonction suivante fonctionne pour moi pour afficher le nombre d'amis d'un utilisateur:

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

Remarquez que je ne compte que les amis approuvés et uniquement les relations de type «ami»

Druvision
la source