Profil sayfalarında kullanıcının arkadaşlarını bir blokta göstermek - drupal

İlgili Konular: Drupal Genel Bilgiler
Drupal - CMS - PHP - Jquery - Web Tasarım

Sosyal ağ siteleri yapmak için öncelikle sitelerimizde kullanıcıların birbirinin arkadaşı olarak gösterebilmeyi sağlamalıyız. Bunun için öncelikle User Relationships eklentisini kurmalıyız. Daha sonra bu eklenti içersinde bir ilişki tanımlamamız gerekiyor. Menülerde kullanıcı yönetimi->ilişkiler->tür ekle yolunu takip ederek arkadaş veya benzer bir ilişki tanımlayınız.

Şimdi sıra bloğumuzu oluşturmaya geldi. Bunun için views eklentisini drupal motoruna ekleyelim. Tam anlatımı olmasada views eklentisi hakkında fikir edinmek için bu konuya bakabilirsiniz.

Views de ekle sekmesine tıklayalım ve açılan seçeneklerde isim ve tanıma istediğiniz bir isim yazınız (tercihen arkadaş). Daha sonra views de aşağıdaki resimde gördüğünüz ayarları gerçekleştiriniz:

1.jpg
2.jpg

Görüntüyü ayarlamak için sol bölümdeki ayarları istediğinize göre gerçekleştiriniz. Kullanıcı resmini twitterdaki gibi küçük olarak göstermek isterseniz imagecache modülünü kullanmanız gerekiyor.

Son olarak viewse bir görünüm eklemeliyiz. Bunun içib sol taraftaki görüntü menüsünden block seçip add display butonuna tıklıyoruz. Daha sonra viewsimizi kaydediyoruz.

Şimdi site kurulumu-bloklar menüsüne gelerek açılan pencerede bloğumuzun görüntüleneceği yeri seçiyoruz. Daha sonra bloğun düzenle bağlantısına tıklayarak alttaki seçeneklerden sadece aşağıda listelenen sayfalarda gösteri seçiyoruz içersine pathautoyu kullandığınızı düşünerek user/* (kendi pathauto ayarlarına göre değiştirebilirsiniz)yazıyoruz. Kaydedip çıkıyoruz. Kullanıcı profillerine baktığımızda kullanıcı başka birini arkadaş olarak eklemişse bloğumuzda arkadaş olarak eklenen kişiyi görebilirsiniz.

Not:

Sadece arkadaşları profilin sahibinin görüntülemesini isterseniz bloğun düzenle bağlantısında aşağıdaki PHP kipi doğruysa gösteri seçerek aşağıdaki kodları yazınız:

<?php
global $user;
if (arg(0) == 'user' && $user->uid == arg(1)){
  return TRUE;
}
else {
  return FALSE;
}
?>

Bloğunuzu kaydedip çıkınız. Artık sadece kullanıcı kendi profilini görüntülediğinde arkadaşlarını görebilir.

Yeni yorum veya soru gönder

Bu alanın içeriği gizlenecek, genel görünümde yer almayacaktır.
  • Glossary terms will be automatically marked with links to their descriptions. If there are certain phrases or sections of text that should be excluded from glossary marking and linking, use the special markup, [no-glossary] ... [/no-glossary]. Additionally, these HTML elements will not be scanned: a, abbr, acronym, code, pre.
  • Eklediğiniz bağlantılara rel="nofollow" eklenerek, eklediklerinizin arama motorları tarafından bu site üzerinden indexlenmesi engellenir.

  • You may insert videos with [video:URL]

Biçimlendirme seçenekleri hakkında daha fazla bilgi


CAPTCHA
Bu soru sizin gerçek bir ziyaretçi olup olmadığınızı anlamak için sorulmaktadır..
CAPTCHA resmi
Resimdeki karakterleri giriniz.

Yazarlarımız