Joomlashow arrow Articoli arrow Come visualizzare contenuto solo per gli utenti non registrati?

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.

livello accesso public registered specialCiò 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&agrave; 0 (false).
  */
 
if ($id_utente == 0) : // se l'utente non &egrave; 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

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

Problema simile

Io ho un problema simile, ma devo permettere la visualizzazione di singoli articoli a diversi utenti registrati... 
del tipo... 
pippo deve vedere l'articolo contenente i suoi dati ma non quelli di ciccio 
mentre ciccio deve vedere l'articolo contenente i suoi dati ma non quelli di pippo.... 
come posso risolvere questo problema?

Scritto da: Matteo (Guest) 16-12-2011 10:41

Aggiungi il tuo commento

Nome
E-mail
Titolo  
Commento
 

Caratteri rimasti: 1000

   
   
   
‹ Precedente   Successivo ›

Login

Hai dimenticato la password?

Registrati