Joomla, visualizzare un modulo solo ai non registrati

Martedì 10 Febbraio 2009 - 09:59

di massimo.giagnoni

CMS

MetaMod

In Joomla quando si imposta il livello di accesso “Public” per un modulo, questo è visibile da tutti gli utenti sia prima che dopo aver effettuato il login. Se il livello di accesso è “Registered”, il modulo è visibile solo agli utenti registrati dopo aver effettuato il login.

E se volessimo fare sì che un modulo sia visibile solo agli utenti che non hanno effettuato il login? Ci manca un livello di accesso che sia il reciproco di “Registered”.

Questa esigenza è spesso presente. Ad esempio un modulo contiene istruzioni su come registrarsi al sito e si vogliono rendere visibili queste informazioni solo agli utenti che non si sono ancora registrati e solo fino a quando non hanno effettuato il login.

Il metodo per ottenere questo risultato scrivendo meno codice, quindi adatto anche agli utenti meno esperti, è l’utilizzo di MetaMod. Ecco come procedere con la premessa che quanto segue si applica solo a Joomla 1.5.

In Gestione moduli creiamo un nuovo modulo HTML Personalizzato. Inseriamo nell’editor le informazioni da visualizzare ai soli non registrati e impostiamo come parametri del modulo:

  • Titolo: ad esempio “Non Registrati”;
  • Mostra titolo: Sì o No come si preferisce;
  • Attivato: Sì;
  • Posizione: non selezioniamo un valore dalla lista, ma facciamo doppio click nel campo e inseriamo manualmente una posizione sicuramente non esistente nel template (es. “nascosto”).

Rimanendo in Gestione moduli configuriamo MetaMod:

  • Mostra titolo: di regola No;
  • Attivato: Sì;
  • Posizione: scegliamo quella dove vogliamo visualizzare le informazioni per i soli non registrati.

Poi nel pannello Parametri modulo all’interno dell’area di testo PHP inseriamo

if($user->guest) {return xx;}

Al posto di “xx” va messo l’ID del modulo HTML Personalizzato che abbiamo creato in precedenza. Un elenco dei moduli con i relativi ID è riportato in Available modules immediatamente prima dell’area di testo dove inserire il codice.

Nell’esempio abbiamo utilizzato un modulo HTML Personalizzato, ma il principio è lo stesso per qualsiasi altro modulo.

Tags:

Categoria: CMS | Permalink

Commenti

1

Io in genere risolvo con 2 bot di rockettheme, rokguest e rokmember, che permettono di mostrare un contenuto solo ai registrati o ai non registrati.

Sono molto comodi e facili da utilizzare e una volta buttati su possono essere utilizzati praticamente dappertutto, non solo nei moduli.

# - postato da Luca - 10 Febbraio 2009 - 10:20

2

credo che questo articolo sia molto utile, nei vari forum ho trovato persone che avevano di questi problemi.

Del resto ha ragione anche Luca, i due bot / plugin sono molto pratici.

# - postato da Braincode.it - 11 Febbraio 2009 - 11:07

3

Con la nuova ACL della 1.6 sarà possibile evitare tutto questo “sbattimento”?

# - postato da studenti macerata - 11 Febbraio 2009 - 14:50

4

Penso sia logico aspettarsi da Joomla 1.6 un livello di accesso per i soli utenti anonimi.

# - postato da Massimo Giagnoni - 12 Febbraio 2009 - 08:48

5

E’ anche possibile agire sul template per mostrare una posizioni di modulo solo ai non registrati.. come mostrano qui http://www.theartofjoomla.com/.....gs-in.html

# - postato da Flavio Copes - 25 Febbraio 2009 - 17:34

6

Funzionaaaaaa , grazie a questa guida e a MetaMode !!

# - postato da franco - 14 Luglio 2010 - 21:52

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento