web-dev-qa-db-ja.com

ユーザー関係でフォロワー数とフォロー数を取得する

ユーザー関係モジュールを使用して往復できる関係フォロワーを作成しました。これで、ユーザー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;
?>

ユーザーIDを印刷して、正しいユーザーかどうかを確認したところ、正しいユーザーが印刷されました。ただし、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つのブロックにフォロワー(あなたへの彼ら)の数が欲しいのですが、それを使って、私は(私はあなたへの)フォローの数を得ることができると思います。どんな助けにも感謝します。

ありがとう

8
why

次の関数は、ユーザーが持っている友達の数を表示するのに役立ちます。

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

承認された友達と「友達」タイプの関係のみを数えることに注意してください

1
Druvision