Mostra solo blocco / pagina profilo utente


10

Voglio mostrare un blocco quando un utente visita la propria pagina del profilo su / utente. I profili utente pubblici hanno percorsi di "/ member / [username]".

Quando limito il blocco a "utente" non verrà visualizzato. Quando lo limito a "membro / *" verrà visualizzato sia sul proprio profilo che sui profili pubblici.

L'URL "utente" è qualcosa di speciale?


2
Funziona anche con "user / *" che mi fa pensare che l'alias interno per la userpagina sia in realtà user/[uid]... potrebbe essere necessario ricorrere a PHP per questo: /
Clive

7
return arg(0) == 'user' && is_numeric(arg(1)) && !arg(2);farà il trucco
Clive

1
@Clive Come al solito rilasciare il FUOCO nei commenti = D
Fuoco digitale

@Clive, volevo solo darti ulteriori suggerimenti per questa risposta. Un anno dopo, ho trovato di nuovo questa pagina. Grazie ancora!
hockey2112

Risposte:


2

Ciò che @clive ha menzionato è fantastico se vuoi usarlo /userper questo, ma da una serie di punti di vista, non mi piace davvero usarlo per questo tipo di cose. Vorrei dire principalmente dal punto di vista dello stile, ma in realtà più dal punto di vista del collegamento, ad esempio, un'e-mail o un post che include elementi di check out my cool profile on mototribe: www.mototribe.com/userbollixing.

Quindi, quando ho fatto cose del genere, includo la logica php nella mia vista a blocchi seguendo le linee di:

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

quindi il blocco viene generato solo quando l'utente attualmente connesso osserva un determinato tipo di nodo che possiede. Ovviamente non ho messo a punto tutti gli isset () o vuoti () necessari in prima serata per quanto sopra, ma sono sicuro che otterrai il jist.

Ovviamente, potrei anche parlare del tutto qui se i profili utente D7 non sono nodi, ma questo funziona alla grande in D6 con profili contenuti :)


questo è un ottimo punto e un motivo per non usare / utente. Immagino di poter usare un po 'di PHP per verificare se l'utente che ha effettuato l'accesso sta guardando il proprio profilo per mostrare il blocco aggiuntivo. Grazie
Uwe

Combinazione del tuo e del codice di Clive: global $ user; return arg (0) == 'user' && is_numeric (arg (1)) &&! arg (2) && $ user-> uid == arg (1); Grazie ancora!!!
Uwe
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.