Come visualizzare contenuto solo per gli utenti non registrati? |
06-03-2009 10:25
Recentemente nel forum leonte54 ha aperto una discussione chiedendo come avrebbe potuto far visualizzare dei link differenti a seconda che gli utenti siano registrati o meno. Mi spiego meglio: leonte voleva fare in modo che gli utenti registrati vedano un menu con link che sono differenti rispetto a quelli che vedono gli utenti non registrati, nemesis ha risposto dicendo che "normalmente", ossia senza scrivere codice, questo non è possibile.
Ciò che Nemesis sostiene è vero: Joomla di default permette di scegliere il livello d'accesso degli utenti a cui vogliamo permettere di visualizzare i contenuti del nostro sito, possiamo decidere che un contenuto può essere visualizzato solo se si è registrati o amministratori ma non è possibile di default fare in modo che un elemento (contenuto, modulo o un link di un menù) sia visibili solamente agli utenti non registrati.
Nemesis ha fornito una buona risposta nella discussione sul forum e quindi ho voluto renderla un pò più astratta e pubblicarla, in modo che possa essere di nuovo utile a qualcuno nel futuro.
Vediamo il codice da inserire nel template che ci permetterà di mostrare un modulo solo agli utenti non registrati:
<?php $utente = &JFactory::getUser(); // recuperiamo informazioni sull'utente $id_utente= $utente->get('id'); // recuperiamo l'id dell'utente /* Ora verifichiamo che la variabile id_utente contenga veramente l'id dell'utente ** in caso contrario la variabile restituirà 0 (false). */ if ($id_utente == 0) : // se l'utente non è registrato ?> <jdoc:include type="modules" name="user1" style="xhtml" /> <?php endif; ?>
in questo caso ho utilizzato la posizione user1, ma siete liberi di utilizzare qualsiasi posizione desideriate, potreste ad esempio aggiungere una nuova posizione e chiamarla "public" per esempio.
Al posto del modulo potete inserire qualsiasi altra cosa, un messaggio o della pubblicità ad esempio.
Sicuramente è sempre meglio inserire una posizione per un modulo e creare un modulo custom nel backend in modo da essere in grado di cambiare il contenuto in qualsiasi momento dal pannello di controllo di joomla senza dover aprire il file del template, modificarlo ed effettuare l'upload.
Ci sono anche altri modi per ottenere lo stesso risultato, date un'occhiata alla discussione sul forum per approfondire.
Commenti utenti
Visualizza 2 di 2 commenti
Aggiungi il tuo commento
| ‹ Precedente | Successivo › |
|---|















E' stato molto utile
Mi è servito per un sito di utenti solo registrati. In questo modo ho potuto scrivere e visualizzare il messaggio per gli utenti non registrati (in modo che non lo vedessero anche i registrati!)
GRAZIE!
Scritto da: Daniela (Guest) 12-09-2010 14:56