Kullanıcı ilişkisinde takipçi ve takipçilerin sayısını alın


8

Kullanıcı ilişkisi modülü kullanılarak karşılık verilebilen bir ilişki Takipçileri oluşturdum. Kullanıcı A'nın ilişkisi şu şekildedir: İzleyiciler (Onlara size): Kullanıcı B, Kullanıcı C, Kullanıcı D İzleyiciler (Onlara): Kullanıcı D

Şimdi sadece takipçi sayısını ve aşağıdakileri gösteren bir görünüm oluşturmak istiyorum: Takipçi: 3
Aşağıdaki: 1

Görünümü oluşturmaya gittim (Views 3, Drupal7) ama yapamadım. Bununla ilgili herhangi bir filtre veya ilişki alamadım. Ayrıca, Views Cal kullanmayı denedim ama net değilim. Herhangi bir yardım için teşekkür ederiz.

Teşekkürler

Düzenle:

Anlaşılmadığı için özür dileriz.

Kullanıcılar türünde bir görünüm oluşturdum. Sonra bir ilişki ekledi (bu ben doğru olup olmadığından emin değilim bölümüdür). Kullanıcı ilişkileri gibi bununla ilgili tüm mevcut ilişkiler ile denedim:

 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

(Ben hepsini tek tek denedim ve bunların çeşitli kombinasyonları da)

Daha sonra Diğerleri altında, Toplamları Kullan için evet'i tıkladım ve gruplama işlevi ("Grup türü") istendiğinde, "Sayıyı seçip yapılandırma alanı ekranındaki etiketin işaretini kaldırdım, böylece yalnızca sayıyı göstersin.

Ayrıca kullanıcının oturum açtığı bir filtre ekledim. Ancak, bana sadece geçerli olanı talep eden farklı kullanıcıların ilişki sayısını gösterir.

Düzenleme 2:

Bu konuyu buldu: http://drupal.org/node/809476 . Ancak onun Drupal 6 için ..., 7 için uygulamaya çalışıyorum. Bakalım ... herhangi bir işaretçiler varsa ben minnettar olacaktır ...

Düzenleme 3:

Yukarıdaki iş parçacığına dayanarak aşağıdaki kodu özel bir bloğa yazdım.

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

Sadece doğru kullanıcının olup olmadığını kontrol etmek için kullanıcı kimliğini yazdırdım ve doğru kullanıcıyı yazdırdı. Ancak, sayım 0 yazdırır. Neden bu?

Düzenleme 4:

Http://drupal.org/node/203396 kullanarak doğru yolda olduğumu düşünüyorum . Ancak bazı düzeltmeler var. Doğru kod:

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

Bu, onaylanan toplam ilişki sayısını görüntüler. Şimdi sadece takipçileri ilişki numarası yazın istiyorum. Buna bakıyorum. Herhangi bir öneriniz varsa, onları takdir ediyorum. Hepinizi haberdar edecek

Edit5:

Ve şimdi sıkıştım. Ne yapmaya çalışsam, sadece toplam ilişki sayısını alıyorum. Ben sadece bir blok takipçileri (size) sayısını istiyorum ve sonra bunu kullanarak, umarım, ben (size) takip numarası almak mümkün olacak. Herhangi bir yardım için teşekkür ederiz.

Teşekkürler


1
Ne denedin? Olduğu gibi özellikle ne denediniz? Ne işe yaramadı? Denediğin şey beklediğinden farklıydı? Sen gerekir Sorunları kendi başınıza çözmeye çalıştık olduğunu göstermektedir, bu web sitesi talep eden öğreticiler için değil
Clive

belki kullanabilirim function user_relationships_type_load($param = array(), $reset = NULL) ama bir yöne veya yardıma ihtiyacım var
neden

User_relationships_load parametresi de bir paramater içerir. "dizi (" arasında "=> dizi ($ uid1, $ uid2)) iki kullanıcı kimliği arasındaki tüm ilişkileri döndürür"
Mark Ferree

@kewal, lütfen sorunu çözebildiniz mi? Projemde bu işleve ihtiyacım var. Teşekkürler.
seyi

@seyi mevcut yerleşik blokları kullanarak yaptım ve paneller aracılığıyla görüntüleme ... Ayrıca user_relationships_type_load ($ param = dizi (), $ reset = NULL) .... üzgünüm kesin ayrıntıları hatırlayamıyorum ama bulursam bir süre sonra size geri dönecekti ... saygılarımla
neden

Yanıtlar:


1

Aşağıdaki işlev, bir kullanıcının sahip olduğu arkadaş sayısını görüntülemem için çalışır:

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

Yalnızca onaylı arkadaşları ve yalnızca 'Arkadaş' türündeki ilişkileri sayıyorum

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.