Joomla.it Forum

Componenti per Joomla! => Gestione utenti e community => : marcellov 12 Apr 2007, 09:32:18

: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: marcellov 12 Apr 2007, 09:32:18
Ciao a tutti, su forum.joomla.org ho trovato un interessantissima discussione in cui viene spiegato come nascondere un modulo (ad esempio un menu) solo agli utenti registrati (se vi è capitato di creare un menu del tipo "iscriviti" avrete notato quanto sia antipatico continuarlo a vederlo anche dopo essersi loggati).
Io che non sono un programmatore l'ho trovato semplicissimo e molto utile, posto qui il link:
http://forum.joomla.org/index.php/topic,114630.msg568882.html

Per chi non conosce l'inglese o non ha tempo, segue la procedura in italiano.

Dunque, l'operazione consta di due piccoli passaggi:
 
1) Bisogna aprire la cartella /modules nella root ed editare l'xml relativo al modulo che ci interessa (nel mio caso mod_mainmenu.xml), ed inserire il seguente breve codice in qualsiasi punto insieme agli altri param (naturalmente i valori degli attributi label e description possono essere cambiati/tradotti a proprio piacimento):
 
:
<param name="show_registered" type="radio" default="1" label="Show Menu When Logged In" description="Show the menu also when a registered user is logged in">
   <option value="0">No</option>
   <option value="1">Yes</option>
  </param>

2) Infine, basta aprire il file /includes/frontend.php e andare alla linea 155, dove c'è il seguente codice:
 
:
foreach ($modules as $module) {
  $params = new mosParameters( $module->params );

Subito dopo di esso va aggiunto:
 
:
// HACK: added code to check if module should be shown when a user is logged in
  if (!$params->get('show_registered', 1) && $my->id) {
   // simply continue the loop without outputting this module
   continue;
  }
  // --- end HACK ---

Il gioco è fatto. A questo punto andando nel backend, gestione moduli, e selezionando un qualsasi mod_mainmenu, noterete che alla fine della pagina è apparsa un'ulteriore opzione che permette di scegliere se visualizzare o meno il modulo per gli utenti loggati. Semplicemente fantastico.
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: LucaZone 13 Apr 2007, 15:49:03
Grazie del tuo utile contributo, penso cha a molti utenti sarà utile

Ciao
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: napo 13 Apr 2007, 15:53:11
Ottima cosa!
Ma strutturalmente non mi piace molto mettere mano al core di Joomla, perchè in caso di aggiornamento devi ripristinare tutto ogni volta.
Ma è anche vero la 1.0.12 dovrebbe essere l'ultima release della 1.0.
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: dmiao 29 May 2007, 12:39:21
Ho provato a seguire qsta guida... solo ke io vorrei nascondere un mod creato da me... cioè un mod di tipo utente.... dove trovo i file per modificarli?? grazie
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: GMarche 19 Jun 2007, 12:21:35
Sai se è possibile fare in modo che un modulo venga visto solo dall'admin e non dagli altri gruppi?

Grazie 1000
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: matrix845 19 Jun 2007, 14:49:20
metti accesso special ai moduli! ;D
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: GMarche 19 Jun 2007, 15:14:51
Non ho capito.. potresti spiegarmi meglio? ;)
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: matrix845 23 Jun 2007, 02:32:24
Cia ragazzi  a me questa guida non funziona (non appare nessuna nuova voce nelle proprietà del modulo), provato gia su mod installate che da installare (modificando l'xml prima di installare)
Come posso fare? ;)
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: matrix845 23 Jun 2007, 02:33:56
Non ho capito.. potresti spiegarmi meglio? ;)
metti accesso special al modulo ;)
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: matrix845 23 Jun 2007, 02:46:49
edit
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: GMarche 23 Jun 2007, 03:15:44
E se metto special in automatico lo vede solo l'admin?

Grazie 1000
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: matrix845 23 Jun 2007, 15:21:46
si Gmarche , cmq siamo offtopic , basta cercare o aprire un altro topic ;)
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: GMarche 23 Jun 2007, 15:29:41
Ok grazie.

Ciao ciao
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: thor486 22 Sep 2007, 15:09:21
sapere come si deve fare per joomla 1.5? Il file frontend.php non c'è.... ??? ??? ???
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: marcellov 20 Nov 2007, 18:25:41
ma state già passando alla nuova versione? Ma è stabile? Io l'ho installata in locale ma ancora non la uso per i clienti.

Comunque sarebbe utile riuscire ad adattare questo piccolo hack. Se qualcuno ci riesce ce lo fa sapere? Io appena ho un minuto ci provo!
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: Maxdesck 04 Jan 2008, 11:36:11
Help!!!!

non riesco a modificare il file mod_xxx nella root (Nel mio caso mod_acajoom) percorso= server/website/modules/mod_acajoom.xml
Premetto che ho tutti i permessi di scrittura, utilizzo Filezilla ,e l'errore riportato è "errore trasferimento critico"

Vi Ringrazio in anticipo

Saluti
Mario
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: rinuccio 13 Jan 2008, 15:34:16
Ho provato a seguire qsta guida... solo ke io vorrei nascondere un mod creato da me... cioè un mod di tipo utente.... dove trovo i file per modificarli?? grazie

ecco il mio prob  :-[
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: matrix845 25 Feb 2008, 01:27:39
Allora ... il problema si presenta con moduli differenti dal mod mainmenu , infatti se leggete qui http://forum.joomla.org/index.php/topic,114630.msg568882.html propne la modifica , che dovrebbe funzuionare con altri mdouli e non creare problemi di spaginazione (ad esempio nel mio template se manca una posizione automaticamente il mainbody si allarga , e con la modifica in evidenza qui si spaginava tutto)
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: No Killer 10 Aug 2008, 12:02:25
grazie marcello sei un grande ho risolto un problema grosso quanto una montagna con questo piccolo hack.. ;) ;)
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: dom66 29 Sep 2008, 18:49:41
Salve,
da una ricerca che ho fatto c'è un metodo meno invasivo per risolvere il problema, ma purtroppo sto iniziando adesso ad affacciarmi a questo mondo e non ci capisco nulla di codice; sono un neofita... si dice cosi, vero?
Dunque, la soluzione sta nel caricare un estensione chiamata
metamod
http://www.brandonitconsulting.co.uk/mod_metamod/
Se qualcuno lo ha usato e mi da istruzioni in merito, ne sarei molto grato.
Grazie
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: gippy88 06 Mar 2009, 12:00:09
da quel che ho potuto vedere metamod ti permettere di creare dei moduli e di renderli visibili a tutti, solo utenti registrati, solo utenti non registrati, non si interfaccia con i moduli gia presenti quindi nn fa al caso nostro.
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: marcothemix 12 Mar 2009, 14:09:12
ottimo grazie
Semplicemente fantastico!!  ;D ;D
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: Blackworm.it 31 Mar 2009, 06:47:15
Grazie anche da parte mia
: Re: (Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: sgs 05 Apr 2009, 16:36:01
per J 1.5 ci sono soluzioni?
: Re:(Tutorial) Come nascondere un modulo SOLO agli utenti registrati
: selene84 30 May 2011, 13:21:48
Salve a tutti, per joomla 1.5 la soluzione è quihttp://forum.joomla.org/viewtopic.php?p=1703898#p1703898 (http://forum.joomla.org/viewtopic.php?p=1703898#p1703898)
In pratica bisogna scaricare e installare Jumi che trovate qui http://extensions.joomla.org/extensions/1023/details (http://extensions.joomla.org/extensions/1023/details)
Andate in "gestione moduli", scegliete il modulo che volete modificare e nel menu a tendina del campo "Posizione" digitate un'etichetta a vostro piacere, per esempio user100, salvate. Create poi un nuovo modulo Jumi, scegliete la posizione e di non mostrare il titolo e nel campo "Code written" digitate il seguente codice:

:
<?php
$position 
'user100';
$user =& JFactory::getUser();
if(
$user->guest)
{
  
$document   = &JFactory::getDocument();
  
$renderer   $document->loadRenderer('modules');
  
$contents '';
  echo 
$renderer->render($position, array('style'=>'xhtml'));
}
?>