Bloğu yalnızca / kullanıcı profili sayfasında göster


10

Bir kullanıcı / user adresindeki kendi profil sayfasını ziyaret ettiğinde bir blok göstermek istiyorum. Genel kullanıcı profillerinin "/ member / [kullanıcı adı]" yolları vardır.

Bloğu "kullanıcı" ile sınırlandırdığımda görünmez. "Üye / *" ile sınırlandırdığımda, hem kendi profilinde hem de herkese açık profillerde görünür.

"Kullanıcı" URL'si özel bir şey mi?


2
Ayrıca "kullanıcı / *" için çalışır, bu da bana usersayfa için iç takma adı aslında user/[uid]... bunun için PHP başvurmak zorunda olabilir: /
Clive

7
return arg(0) == 'user' && is_numeric(arg(1)) && !arg(2);hile yapacak
Clive

1
@Clive Her zamanki gibi YANGIN düşüyor yorumlar = D
Dijital yangın

@Clive, sadece bu cevap için daha fazla sahne vermek istedim. Bir yıl sonra tekrar bu sayfayı buldum. Tekrar teşekkürler!
hockey2112

Yanıtlar:


2

@Clive'nin bahsettiği şey /user, bunun için kullanmak istiyorsanız harika , ancak birkaç açıdan, bu tür şeyler için hiç kullanmayı sevmiyorum. Çoğunlukla bir stil perspektifinden söylemek istiyorum, ama aslında daha çok bağlantı perspektifinden, örneğin bir check out my cool profile on mototribe: www.mototribe.com/userşeyleri bollixing içeren bir e-posta veya postadan.

Yani, böyle şeyler yaptığımda, benim satır görünümünde blok görünümünde php mantığı dahil:

$global $user;
$block=array();
$node=menu_get_object();

if ($node->type==THENODETYPEWEARELOOKINGFOR && $node->uid==$user->uid) {
  // generate the block here
} else {
  // don't generate anything (or put something else in it's place)
}

return $block;

bu nedenle blok yalnızca o anda oturum açmış olan kullanıcı, sahip olduğu belirli bir düğüm türüne baktığında oluşturulur. Açıkçası yukarıdaki için prime time gerekli tüm isset () s veya empty () s etli değilim ama eminim jist olsun.

Tabii ki, eğer D7 kullanıcı profilleri düğüm değilse, burada toplam şaplak da konuşabilirdim, ancak bu D6'da içerik profilleri ile harika çalışıyor :)


bu harika bir nokta ve / user kullanmamak için bir sebep. Ben giriş yapmış kullanıcının ekstra blok göstermek için kendi profiline bakıp bakmadığını kontrol etmek için bazı PHP kullanabilirsiniz sanırım. Teşekkürler
uwe

Sizin ve Clive kodunuzun birleşimi: global $ user; return arg (0) == 'kullanıcı' && is_numeric (arg (1)) &&! arg (2) && $ user-> uid == arg (1); Tekrar teşekkürler!!!
uwe
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.