Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Joomla, visualizzare un modulo solo ai non registrati

Link copiato negli appunti

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.

Ti consigliamo anche