Back to top

Autore Topic: nascondere un modulo agli utenti registrati  (Letto 11303 volte)

Offline emildag

  • Nuovo arrivato
  • *
  • Post: 24
  • Sesso: Maschio
    • Mostra profilo
nascondere un modulo agli utenti registrati
« il: 26 Gen 2010, 06:53:30 »
buongiorno..
ho un problema  io o joomla 1.5 installata,lingua italiana  e non trovo il file frontend.php sulla cartella includes.
Devo segure questo passaggio




foreach ($modules as $module) {
  $params = new mosParameters( $module->params );

 e inserire

 // 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 ---
 un aiuto!!
« Ultima modifica: 27 Gen 2010, 21:39:06 da emildag »
Se una notte ti sorprenderai a guardare una stella, dalle il mio nome

Offline scarinciotto

  • Appassionato
  • ***
  • Post: 263
    • Mostra profilo
Re:aiuto
« Risposta #1 il: 26 Gen 2010, 09:00:33 »
prima di eseguire un hack dicci cosa vorresti fare, magari riusciamo a farlo senza mettere le mani al codice...
I miei viaggi: www.scarinciotto.com

Offline emildag

  • Nuovo arrivato
  • *
  • Post: 24
  • Sesso: Maschio
    • Mostra profilo
nascondere un modulo agli utenti registrati
« Risposta #2 il: 26 Gen 2010, 10:36:48 »
vorrei nascondere i moduli agli utenti registrati e renderli visibile solo al pubblico ,ho letto qui nel forum e ho trovato questa procedura http://forum.joomla.it/index.php/topic,19006.0.html
« Ultima modifica: 27 Gen 2010, 21:46:58 da emildag »
Se una notte ti sorprenderai a guardare una stella, dalle il mio nome

Offline scarinciotto

  • Appassionato
  • ***
  • Post: 263
    • Mostra profilo
Re:aiuto
« Risposta #3 il: 26 Gen 2010, 10:54:44 »
uhm... il contrario di quello che di solito si fa.... strano, mi incuriosisce! A cosa potrebbe servire se è lecito)?
I miei viaggi: www.scarinciotto.com

Offline = odino =

  • Instancabile
  • ******
  • Post: 5696
  • Sesso: Maschio
  • "In realtà li trasforma in menomati" Danzel
    • Mostra profilo
Re:aiuto
« Risposta #4 il: 26 Gen 2010, 10:56:53 »
uhm... il contrario di quello che di solito si fa.... strano, mi incuriosisce! A cosa potrebbe servire se è lecito)?

per esempio a nascondere un modulo che ti chiede di registrarti per accedere alle aree private del sito  :)

Offline scarinciotto

  • Appassionato
  • ***
  • Post: 263
    • Mostra profilo
Re:aiuto
« Risposta #5 il: 26 Gen 2010, 12:11:51 »
per esempio a nascondere un modulo che ti chiede di registrarti per accedere alle aree private del sito  :)
ok in quel caso, ma comunque il modulo di login cambia "forma" una volta loggati.... ma non è che scompare sempre lì è....
I miei viaggi: www.scarinciotto.com

Offline = odino =

  • Instancabile
  • ******
  • Post: 5696
  • Sesso: Maschio
  • "In realtà li trasforma in menomati" Danzel
    • Mostra profilo
Re:aiuto
« Risposta #6 il: 26 Gen 2010, 13:18:50 »
per esempio a nascondere un modulo che ti chiede di registrarti per accedere alle aree private del sito  :)
ok in quel caso, ma comunque il modulo di login cambia "forma" una volta loggati.... ma non è che scompare sempre lì è....

...un modulo custom html che elenca i servizi per gli abbonati e che deve ovviamente scomparire una volta che loggi, che non dev'essere associato al modulo di login graficamente...

Offline emildag

  • Nuovo arrivato
  • *
  • Post: 24
  • Sesso: Maschio
    • Mostra profilo
nascondere un modulo agli utenti registrati
« Risposta #7 il: 26 Gen 2010, 17:50:24 »
esiste (un componente) che dia  la funzione di nascondere un modulo a tua scelta?io ho bisogno di questa funzione
« Ultima modifica: 27 Gen 2010, 21:47:26 da emildag »
Se una notte ti sorprenderai a guardare una stella, dalle il mio nome

Offline emildag

  • Nuovo arrivato
  • *
  • Post: 24
  • Sesso: Maschio
    • Mostra profilo
nascondere un modulo agli utenti registrati
« Risposta #8 il: 27 Gen 2010, 09:08:50 »
nessuno mi puo dare una diritta  di come posso fare  :(?
« Ultima modifica: 27 Gen 2010, 21:47:38 da emildag »
Se una notte ti sorprenderai a guardare una stella, dalle il mio nome

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:aiuto
« Risposta #9 il: 27 Gen 2010, 09:24:14 »
a parte che il post che indichi si riferisce alla versione 1.0, trovo non sia mai una buona idea mettersi a fare hack qua e là, specialmente se non si è programmatori  >:( .

ti suggerisco di aggiungere una nuova posizione per i moduli nel template inserendola così:

Codice: [Seleziona]
<?php $user JFactory::getUser(); if(!$user->id): ?>
  <div id="<QuelCheEPosizione>">
    <jdoc:include type="module" name="<posizionemodulo>" />
  </div>
<?php endif ; ?>

in questo modo, appena l'utente si loggerà, la posizione sparirà dal template.

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline emildag

  • Nuovo arrivato
  • *
  • Post: 24
  • Sesso: Maschio
    • Mostra profilo
nascondere un modulo agli utenti registrati
« Risposta #10 il: 27 Gen 2010, 14:04:30 »
ciao marco grazie ,io ho fatto quetso passaggio  ma non va  :-[ ti faccio un esempio

<?php $user = JFactory::getUser(); if(!$user->id): ?>
  <div id="<QuelCheEPosizione>">
    <jdoc:include type="module" name="<mod_shoutboxo>" />
  </div>
<?php endif ; ?>
 

o devo integrare come e stato creato il codice senza portare modifiche?<div id="<QuelCheEPosizione>"> cosa devo inserire ? non sono molto esperto     
« Ultima modifica: 27 Gen 2010, 21:47:55 da emildag »
Se una notte ti sorprenderai a guardare una stella, dalle il mio nome

mau_develop

  • Visitatore
Re:aiuto
« Risposta #11 il: 27 Gen 2010, 14:14:59 »
eseguo il codice della pagina e arrivo a qs punto:

<?php $user = JFactory::getUser(); if(!$user->id): ?>

if(!$user->id), cioè, se non c'è un user_id vuol dire che non è loggato, allora carico il modulo:

<jdoc:include type="module" name="<mod_shoutboxo>" />

se loggato ovviamente passerà oltre senza caricare il modulo.

... ma si chiama shout boxo ?!! non shout box?

Quello che ha messo Marco tra i div è perchè ha pensato che il modulo venisse messo tra div ma non so se è così e comunque non cambia nulla.

M.

Offline emildag

  • Nuovo arrivato
  • *
  • Post: 24
  • Sesso: Maschio
    • Mostra profilo
nascondere un modulo agli utenti registrati
« Risposta #12 il: 27 Gen 2010, 14:33:42 »
quindi  nel template devo  integrare cosi
<?php endif ; ?>
 
<?php $user = JFactory::getUser(); if(!$user->id): ?>
 
<jdoc:include type="module" name="<mod_shoutbox>" />
 
<?php endif ; ?>
« Ultima modifica: 27 Gen 2010, 21:48:08 da emildag »
Se una notte ti sorprenderai a guardare una stella, dalle il mio nome

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:aiuto
« Risposta #13 il: 27 Gen 2010, 14:38:14 »
ciao,
emildag

ciao marco grazie ,io ho fatto questo passaggio  ma non va  ...

jdoc:include serve a caricare i moduli presenti in una posizione del template, non un modulo direttamente: quali moduli inserire in quella posizione lo decidi da gestione moduli nell'amministrazione.

questo articolo potrà essere più esplicativo:
http://wiki.joomla.it/index.php?title=Come_aggiungo_nuove_posizioni_modulo%3F

<QuelCheEPosizione> e <posizionemodulo> sono solo dei segna posto che vanno sostituiti (comprese <>) il primo con ciò che vuoi (serve per il css) ed il secondo con il nome della posizione come indicato nell'articolo citato.

Citazione
non sono molto esperto     

 :( ops, scusa ho dimenticato che se fossi stato esperto di certo non lo avresti chiesto a me  ;)

ciao,
marco



mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:aiuto
« Risposta #14 il: 27 Gen 2010, 14:39:43 »
quindi  nel template devo  integrare cosi...

il primo endif è sicuramente di troppo. inizia a leggere l'articolo suggerito. se poi hai problemi ...

ciao
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline emildag

  • Nuovo arrivato
  • *
  • Post: 24
  • Sesso: Maschio
    • Mostra profilo
nascondere un modulo agli utenti registrati
« Risposta #15 il: 27 Gen 2010, 16:49:46 »
ciao Marco ho letto anche la guida ma non sono riuscito a fare nulla ,ho seguito come ai riportato nel post ma io non risco  a fare cio' :( ho provato  devo abbandonare...  la nave  :) ecco quello che io ho fatto e poi messo nel template

<?php $user = JFactory::getUser(); if(!$user->id): ?>
<div id="shoutbox">
<jdoc:include type="module" name="mod_shoutbox" />
</div>
<?php endif ; ?>
« Ultima modifica: 27 Gen 2010, 21:48:23 da emildag »
Se una notte ti sorprenderai a guardare una stella, dalle il mio nome

mau_develop

  • Visitatore
Re:aiuto
« Risposta #16 il: 27 Gen 2010, 16:58:45 »
name="mod_shoutbox" />

noneeee

la posizione! non il nome del modulo

M.

mau_develop

  • Visitatore
Re:aiuto
« Risposta #17 il: 27 Gen 2010, 17:11:58 »
remember:

nel file xml del tuo template ci sono varie posizioni definite:

esempio:  <position>bread</position>

quando installi un modulo o lo attivi gli devi assegnare una posizione, ammettiamo tu scelga proprio "bread"

nell'index del template avrai il tuo include:

<jdoc:include type="module" name="bread" />

che vuol dire:

includi tutti i moduli a cui è stata assegnata la posizione "bread"

Vuoi una posizione personalizzata? bene! apri il file xml templatedetails nel tuo template
aggiungi dove sono tutte le posizioni una riga così:

<position>shoutbox</position>

vai in gestione moduli-> shoutbox

gli assegni quella posizione, e il tuo codice diventa

<jdoc:include type="module" name="shoutbox" />

M.

Offline emildag

  • Nuovo arrivato
  • *
  • Post: 24
  • Sesso: Maschio
    • Mostra profilo
nascondere un modulo agli utenti registrati
« Risposta #18 il: 27 Gen 2010, 17:56:33 »
ok ho seguito il tuo consiglio
puoi notere che ora ho dato il nome <jdoc:include type="module" name="user4" /> ho inserito  tutto il contenuto nella pagina del template  e ho salvato
ora quando accedo al sito   il modulo e ancora posizionato dove io ho dato il nome non va via ,come mai sbaglio ancora? 
« Ultima modifica: 27 Gen 2010, 21:48:36 da emildag »
Se una notte ti sorprenderai a guardare una stella, dalle il mio nome

mau_develop

  • Visitatore
Re:aiuto
« Risposta #19 il: 27 Gen 2010, 18:09:47 »
hai messo anche il resto dello script?
$user = JFactory::getUser(); etc?

M.

Offline emildag

  • Nuovo arrivato
  • *
  • Post: 24
  • Sesso: Maschio
    • Mostra profilo
nascondere un modulo agli utenti registrati
« Risposta #20 il: 27 Gen 2010, 18:14:45 »
si ho messo tutto o anche cambiato il nome per testare es da user4 in left ma non va
« Ultima modifica: 27 Gen 2010, 21:48:55 da emildag »
Se una notte ti sorprenderai a guardare una stella, dalle il mio nome

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:aiuto
« Risposta #21 il: 27 Gen 2010, 18:34:38 »
ciao,
piccolo riepilogo: hai questo codice nel template:

Codice: [Seleziona]
<?php $user JFactory::getUser(); if(!$user->id): ?>
  <div id="User4Div">
    <jdoc:include type="module" name="user4" />
  </div>
<?php endif ; ?>
(l'id del div può essere diverso)
hai inserito, dall'amministrazione, il modulo che vuoi nascondere agli utenti loggati in user4.

vai sul sito, effettui il login ed il modulo è ancora in vista?

è cosi?

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline emildag

  • Nuovo arrivato
  • *
  • Post: 24
  • Sesso: Maschio
    • Mostra profilo
nascondere un modulo agli utenti registrati
« Risposta #22 il: 27 Gen 2010, 19:01:50 »
si e cosi effettuo il login  e il modulo e ancora li
ti lego un link di download del codice della mia pagina del template  se puoi dare una occhiatahttp://mywebhome.altervista.org/html%20template.rar   o puoi posizionare il codice
« Ultima modifica: 27 Gen 2010, 21:49:06 da emildag »
Se una notte ti sorprenderai a guardare una stella, dalle il mio nome

Offline = odino =

  • Instancabile
  • ******
  • Post: 5696
  • Sesso: Maschio
  • "In realtà li trasforma in menomati" Danzel
    • Mostra profilo
Re:aiuto
« Risposta #23 il: 27 Gen 2010, 19:42:22 »
sosituisci la prima riga di php

Codice: [Seleziona]
<?php $user JFactory::getUser(); if(!$user->id): ?>
con

Codice: [Seleziona]
<?php $user JFactory::getUser(); $user->id $user->get('id'); if(!$user->id == 0): ?>
dovrebbe andare anche come ti hanno suggerito, ma può essere benissimo che sia saltata un'API, in wordpress succede spesso  :P

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:aiuto
« Risposta #24 il: 27 Gen 2010, 20:49:41 »
... effettuo il login  e il modulo e ancora li ...

allora nel template che hai allegato devi sostituire la riga 222:

Codice: [Seleziona]
<?php if ($this->countModules('user4')) : ?>
con la seguente:

Codice: [Seleziona]
<?php $user JFactory::getUser(); if ( (!$user->id) and ($this->countModules('user4'))) : ?>

se non funziona, e la cosa non è bella  :( , prova a scriverla come suggerisce odino:

Codice: [Seleziona]
<?php $user JFactory::getUser(); $user->id $user->get('id'); if ( ($user->id != 0) and ($this->countModules('user4'))) : ?>

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline emildag

  • Nuovo arrivato
  • *
  • Post: 24
  • Sesso: Maschio
    • Mostra profilo
RISOLTO
« Risposta #25 il: 27 Gen 2010, 21:22:57 »
ciao Marco  e andata a buon fine  :) :) :) ho fatto  il login e il modulo e sparito ...sei un grande ..o sostituito  la riga 222 con <?php $user = JFactory::getUser(); if ( (!$user->id) and ($this->countModules('user4'))) : ?>
« Ultima modifica: 27 Gen 2010, 21:40:25 da emildag »
Se una notte ti sorprenderai a guardare una stella, dalle il mio nome

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:aiuto
« Risposta #26 il: 27 Gen 2010, 21:34:12 »
ok, contento per te :)

ma metti [RISOLTO] nel titolo... e già che ne parliamo che ne dici di farlo diventare "nascondere un modulo agli utenti registrati" ?

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline emildag

  • Nuovo arrivato
  • *
  • Post: 24
  • Sesso: Maschio
    • Mostra profilo
Re:nascondere un modulo agli utenti registrati
« Risposta #27 il: 27 Gen 2010, 21:43:13 »
ok fatto  ,
il merito e tuo e di tutti quelli che anno sostenuto questo post nel forum  grazie 1000
« Ultima modifica: 27 Gen 2010, 21:45:09 da emildag »
Se una notte ti sorprenderai a guardare una stella, dalle il mio nome

 



Web Design Bolzano Kreatif