Tampilkan blokir pada / halaman profil pengguna saja


10

Saya ingin menunjukkan blok ketika pengguna mengunjungi halaman profilnya di / pengguna. Profil pengguna publik memiliki jalur "/ anggota / [nama pengguna]".

Ketika saya membatasi blok untuk "pengguna" itu tidak akan muncul. Ketika saya batasi untuk "anggota / *" itu akan muncul di profil sendiri dan profil publik.

Apakah url "pengguna" sesuatu yang istimewa?


2
Ini juga berfungsi untuk "user / *" yang membuat saya berpikir alias internal untuk userhalaman sebenarnya user/[uid]... mungkin harus menggunakan PHP untuk yang satu ini: /
Clive

7
return arg(0) == 'user' && is_numeric(arg(1)) && !arg(2);akan melakukan trik
Clive

1
@Clive Seperti biasa menjatuhkan API dalam komentar = D
Kebakaran digital

@Clive, hanya ingin memberi Anda lebih banyak alat peraga untuk jawaban ini. Satu tahun kemudian, dan saya menemukan halaman ini lagi. Terima kasih lagi!
hockey2112

Jawaban:


2

Apa yang @clive sebutkan sangat bagus jika Anda ingin menggunakannya /useruntuk ini, tetapi dari sejumlah sudut, saya benar-benar tidak suka menggunakannya sama sekali untuk hal semacam ini. Saya ingin mengatakan sebagian besar dari perspektif gaya, tetapi sebenarnya lebih dari perspektif yang menghubungkan, misalnya, email atau posting yang mencakup check out my cool profile on mototribe: www.mototribe.com/userbollixing segalanya.

Jadi, ketika saya sudah melakukan hal-hal seperti ini, saya memasukkan logika php dalam tampilan blok saya di sepanjang baris:

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

jadi blok hanya dihasilkan ketika pengguna yang saat ini masuk melihat jenis simpul tertentu yang dia miliki. Jelas saya belum menyempurnakan semua isset () atau kosong () yang dibutuhkan di prime time untuk hal di atas, tetapi saya yakin Anda mendapatkan intinya.

Tentu saja, saya juga bisa berbicara total memukul di sini jika profil pengguna D7 bukan node, tetapi ini berfungsi baik di D6 dengan profil konten :)


itu poin bagus dan alasan untuk tidak menggunakan / pengguna. Saya kira saya dapat menggunakan beberapa PHP untuk memeriksa apakah pengguna yang login melihat profilnya sendiri untuk menunjukkan blok tambahan. Terima kasih
uwe

Kombinasi kode Anda dan Clive: global $ user; return arg (0) == 'user' && is_numeric (arg (1)) &&! arg (2) && $ user-> uid == arg (1); Terima kasih lagi!!!
uwe
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.