Back to top

Autore Topic: [solved] Visualizzare modulo a un determinato tipo di utenti (o il contrario)  (Letto 3088 volte)

Offline .Andrea S.

  • Instancabile
  • ******
  • Post: 4404
  • Sesso: Maschio
    • Mostra profilo
Problema:
Come fare per far visualizzare un modulo solo ad un determinato tipo di utenti. (Author, editor)

al momento ho risolto con questo hack: Hide any module for logged in users ONLY

che in realtà fa il contrario ma ovviamente se si rovescia il problema....  :D
Funziona bene e ve lo consiglio.

Ma siccome non mi piace modificare il core di joomla vorre trovare una soluzione alternativa.

Avevo pensato di inserire nel template un modulo e caricarlo solo se l'utente loggato era di una certo tipo (Author), il codice doveva essere questo:
Citazione
<?php if($my->usertype == "author"){?>
    <?php echo mosLoadModules ( 'user9',-3 );?>
}else{
<?php } ?>

Mettendo poi i moduli ad ok risolverei il mio personalissimo problema.

Ma........ non funziona  :(

Che sbaglio?
Mi sa che mi sto perdendo in un bicchiere d'acqua...
Grazie mille
« Ultima modifica: 13 Set 2007, 11:30:16 da .Andrea S. »
Andrea | www.joomlovers.net | Il sito per gli amanti di Joomla!

Offline gallus

  • Abituale
  • ****
  • Post: 1771
  • Sesso: Maschio
  • Gens Joomla
    • Mostra profilo
Cosa ti succede così?
Ti sparisce tutto il Container nel caso in cui non sia un autore?
Esperto in:
"Algoritmi concorrenti per la gestione del Gelato che si scioglie"
 TGGS - Team Gestione Gelato che si Scioglie.  Joomla! è un lavoro di squadra: tu mettici il problema, Gens Joomla la soluzione.  Gens Joomla, il sito di riferimento per Joomla: http://www.gensjoomla.org

Offline .Andrea S.

  • Instancabile
  • ******
  • Post: 4404
  • Sesso: Maschio
    • Mostra profilo
mi sparisce sempre, anche nel caso sia autore

Ho provato acnhe con administrator, guest, etc
Andrea | www.joomlovers.net | Il sito per gli amanti di Joomla!

Offline gallus

  • Abituale
  • ****
  • Post: 1771
  • Sesso: Maschio
  • Gens Joomla
    • Mostra profilo
strtolower( $my->usertype ) == 'author'

Prova così
Esperto in:
"Algoritmi concorrenti per la gestione del Gelato che si scioglie"
 TGGS - Team Gestione Gelato che si Scioglie.  Joomla! è un lavoro di squadra: tu mettici il problema, Gens Joomla la soluzione.  Gens Joomla, il sito di riferimento per Joomla: http://www.gensjoomla.org

Offline .Andrea S.

  • Instancabile
  • ******
  • Post: 4404
  • Sesso: Maschio
    • Mostra profilo
perfetto!  ;D

Devo levare l'else però... giusto?

<?php if(strtolower( $my->usertype ) == 'author'){?>
    <?php echo mosLoadModules ( 'author',-3 );?>
<?php } ?>



e se volessi farlo visualizzare a 2 tipi di utenti? (l'appetito vien mangiando  ;D)
Grazie ancora
« Ultima modifica: 13 Set 2007, 11:29:19 da .Andrea S. »
Andrea | www.joomlovers.net | Il sito per gli amanti di Joomla!

Offline napo

  • Instancabile
  • ******
  • Post: 6532
  • Sesso: Maschio
  • NO MP TECNICI, verranno ignorati
    • Mostra profilo
Certo che sto codice non si può proprio guardare... :-X


AllOne.it Consulting: http://www.allone.it Gens Joomla, il : http://www.gensjoomla.org  [url=http://www.allone.it/jooml

Offline gallus

  • Abituale
  • ****
  • Post: 1771
  • Sesso: Maschio
  • Gens Joomla
    • Mostra profilo
Certo che sto codice non si può proprio guardare... :-X

napo ha perfettamente ragione

Codice: [Seleziona]
<?php
  
if(strtolower$my->usertype ) == 'author'){ 
   echo 
mosLoadModules 'author',-);
  }
?>


se vuoi rendere attivo questo comportamento per 2 tipi di utenti basta che inserisci:

Codice: [Seleziona]
if(strtolower( $my->usertype ) == 'author' ||
   strtolower( $my->usertype ) == 'altroTipo'){
...
}

sostituendo altroTipo con il tipo che ti interessa, al contrario se vuoi un comportamento diverso ti serve else.

Infine, se vuoi specializzare il comportamento per ogni tipo di utente prendi  in considerazione il costrutto swith ;)

« Ultima modifica: 13 Set 2007, 07:40:21 da gallus »
Esperto in:
"Algoritmi concorrenti per la gestione del Gelato che si scioglie"
 TGGS - Team Gestione Gelato che si Scioglie.  Joomla! è un lavoro di squadra: tu mettici il problema, Gens Joomla la soluzione.  Gens Joomla, il sito di riferimento per Joomla: http://www.gensjoomla.org

Offline .Andrea S.

  • Instancabile
  • ******
  • Post: 4404
  • Sesso: Maschio
    • Mostra profilo
che dire... semplicemente magnifico.
Grazie mille!

.....mi sa che mi devo mettere a studiare  ;)
Andrea | www.joomlovers.net | Il sito per gli amanti di Joomla!

Offline napo

  • Instancabile
  • ******
  • Post: 6532
  • Sesso: Maschio
  • NO MP TECNICI, verranno ignorati
    • Mostra profilo
Codice: [Seleziona]
if(strtolower( $my->usertype ) == 'author' ||
   strtolower( $my->usertype ) == 'altroTipo'){
...
}

Anche questo codice non è bellissimo... ;D
Sarebbe meglio creare un array di stringhe in cui memorizzare tutti i tipi da controllare e poi verificare se usertype è dentro l'array. Qualcosa del tipo:
Codice: [Seleziona]
<?php
$tipiDaControllare 
= array("author""altroTipo"ecc...);
if (
in_array(strtolower($my->usertype), $tipiDaControllare)) {
    
// fai quello che devi fare
}
?>

« Ultima modifica: 13 Set 2007, 12:29:54 da napo »


AllOne.it Consulting: http://www.allone.it Gens Joomla, il : http://www.gensjoomla.org  [url=http://www.allone.it/jooml

Offline .Andrea S.

  • Instancabile
  • ******
  • Post: 4404
  • Sesso: Maschio
    • Mostra profilo
Magnifico anche questo!   ;D

Grazie mille anche a te Napo
Andrea | www.joomlovers.net | Il sito per gli amanti di Joomla!

Offline gallus

  • Abituale
  • ****
  • Post: 1771
  • Sesso: Maschio
  • Gens Joomla
    • Mostra profilo
...
Anche questo codice non è bellissimo... ;D
...

ok... ma niente eufemismi. :(
Esperto in:
"Algoritmi concorrenti per la gestione del Gelato che si scioglie"
 TGGS - Team Gestione Gelato che si Scioglie.  Joomla! è un lavoro di squadra: tu mettici il problema, Gens Joomla la soluzione.  Gens Joomla, il sito di riferimento per Joomla: http://www.gensjoomla.org

 



Web Design Bolzano Kreatif