Joomla.it Forum
Joomla! 1.5.x (versione con supporto terminato) => Joomla! 1.5 => : Valerio91 04 May 2011, 10:08:58
-
Salve come da titolo dovrei creare un Livello di Accesso o per lo meno rendere un articolo in Home Page visibile solo a chi non ha effettuato l'accesso.
Ho provato tutto ciò presente quì, ma senza alcun risultato:
http://forum.joomla.it/index.php?topic=18030.0
http://forum.joomla.it/index.php/topic,15830
Sono post troppo vecchi.
Ho provato pure a cercare tra le estenzioni e ho trovato JCE ma non permette di far ciò.
Consigli?
-
La pratica migliore è quella di creare nel template una posizione modulo alla quale associare un modulo e attivarlo in base al livello di accesso.
Qua trovi alcuni esempi utili per la teoria mentre per la pratica, soprattutto se da applicare a J1.5 o a J1.6, andrebbero aggiornati alle nuove API
http://www.google.it/search?q=joomla%20module%20only%20for%20unregistered&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:it:official&client=firefox-a&source=hp&channel=np
-
RISOLTO! Ho controllato tutti i risultati fino a quando ho trovato una Guida che spiega grosso modo come fare in Inglese.
Lo spiego in ITALIANO che possa servire a tutti coloro che incomberanno in questo problema.
QUESTE MODIFICHE SERVONO PER RENDERE UNA POSIZIONE INVISIBILE AI REGISTRATI:
1)Aprire la directory del Template che state utilizzando.
2) Aprire il file templateDetails.xml . In esso troverete una serie di linee preceduto dal prefisso <position>;
3) Aggiungere una riga in più con il nome scelto per la tua nuova posizione, e quindi dovrebbe apparire come:
<position> guestsonly </ position>
Salvare e chiudere il file.
2. Posizionamento la posizione e il codice PHP nel layout
Ora, nella directory dello stesso Template, aprire il file index.php . Questo contiene il layout del modello.
Aggiungere le seguenti righe (che sostituisce il nome della posizione, se del caso) dove si vuole che la posizione di essere nel layout:
<?php
$user =& JFactory::getUser();
if($user->guest){
?>
<td valign="top">
<div id="right">
<jdoc:include type="modules" name="guestsonly" style="xhtml" />
</div>
</td>
<?php
}
?>
[/pre]
Per posizionarlo di posizione dovete cambiare div id="right".
Una volta terminato e caricato tutto tra le posizioni dei vostri moduli troverete pure "guestsonly" che sarà visibile solo ad utenti non registrati.
PS: Se voleste più moduli invisibili ai registrati ma in posizioni diverse dovrete ripetere lo stesso passaggio cambiando il nome della posizione "guestsonly" e la posizione stessa div id="right".
Spero di essere stato chiaro.
A presto!
-
Ottimo quindi metto Risolto ;D
-
Direi proprio di si ;)
Grazie per la dritta.
Penso che questo sia il metodo più semplice di tutti, però peccato che Joomla non abbia pensato di farlo uscire di serie!
-
Molajo, ti faccio notare che hai messo risolto solo alla tua risposta ed non a tutto il 3d! ;)