Joomla.it Forum
Non solo Joomla... => Sviluppo => : 56francesco 02 Apr 2011, 12:49:33
-
sto utilizzando questo pezzetto di codice php in una posizione user per differenziare il nome posizione in base al loggato si/no
<?php
$user = &JFactory::getUser();
$userId = $user->get('id');
if ($userId == 0) :
?>
<jdoc:include type="modules" name="nonloggati" style="xhtml" />
<?php else : ?>
<jdoc:include type="modules" name="loggati" style="xhtml" />
<?php endif; ?>
il codice era per la 1.5 ma funziona anche nella 1.6
ora con joomla 1.6 vorrei differenziare il nome modulo in base a 4 diversi livelli di accesso
come scrivere questa modifica?
-
Se non ho capito male ed intendi se appartiene ad un determinato gruppo si potrebbe fare così:
<?php
....
....
$user = &JFactory::getUser();
$idGruppo1 = '10';
$idGruppo2 = '11';
$idGruppo3 = '12';
$idGruppo4 = '13';
// Recupero i gruppi dei quali l'utente è membro.
// Questo metodo restituisce un array.
$groups = JAccess::getGroupsByUser($user->id); // aggiungere " , false" per escludere i gruppi ereditati se non impostato di default e true
if ( in_array($idGruppo1 , $groups)) {
?>
<jdoc:include type="modules" name="moduloXgruppo1" style="xhtml" />
<?php
}
if ( in_array($idGruppo2 , $groups)) {
?>
<jdoc:include type="modules" name="moduloXgruppo2" style="xhtml" />
<?php
}
if ( in_array($idGruppo3 , $groups)) {
?>
<jdoc:include type="modules" name="moduloXgruppo3" style="xhtml" />
<?php
}
if ( in_array($idGruppo4 , $groups)) {
?>
<jdoc:include type="modules" name="moduloXgruppo4" style="xhtml" />
<?php
}
.....
...
?>
se invece intendi propio i livelli di accesso dell'utente si possono recuperare con:
$user->getAuthorisedViewLevels();
che restituisce sempre un array ma dei livelli di accesso autorizzati per l'utente
-
intanto grazie per la risposta, poi faccio delle prove e appena finito posto la soluzione sperando sia utile ad altri.
-
Di niente, certo questo è solo un'esempio un pò generico, perchè nel caso l'utente appartenesse a più gruppi vedrebbe i moduli di tutti i gruppi a cui appartiene, bisognerebbe parametrizzare maggiormente ma questo direi che è da studiare ed applicare caso per caso.
ciao
-
e se invece volessi recuperare tutti gli utenti che fanno parte di un gruppo come faccio?
-
http://docs.joomla.org/JFactory/getUser
-
Si questo lo conosco, ma recupero solo username, name e id
a me servirebbe sapere quali id fanno parte di un gruppo
-
http://docs.joomla.org/JUser/1.6 ->getAuthorisedGroups