Joomla.it Forum
Non solo Joomla... => Sviluppo => : emildag 26 Jan 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!!
-
prima di eseguire un hack dicci cosa vorresti fare, magari riusciamo a farlo senza mettere le mani al codice...
-
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 (http://forum.joomla.it/index.php/topic,19006.0.html)
-
uhm... il contrario di quello che di solito si fa.... strano, mi incuriosisce! A cosa potrebbe servire se è lecito)?
-
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 :)
-
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ì è....
-
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...
-
esiste (un componente) che dia la funzione di nascondere un modulo a tua scelta?io ho bisogno di questa funzione
-
nessuno mi puo dare una diritta di come posso fare :(?
-
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ì:
<?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
-
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
-
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.
-
quindi nel template devo integrare cosi
<?php endif ; ?>
<?php $user = JFactory::getUser(); if(!$user->id): ?>
<jdoc:include type="module" name="<mod_shoutbox>" />
<?php endif ; ?>
-
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.
non sono molto esperto
:( ops, scusa ho dimenticato che se fossi stato esperto di certo non lo avresti chiesto a me ;)
ciao,
marco
-
quindi nel template devo integrare cosi...
il primo endif è sicuramente di troppo. inizia a leggere l'articolo suggerito. se poi hai problemi ...
ciao
marco
-
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 ; ?>
-
name="mod_shoutbox" />
noneeee
la posizione! non il nome del modulo
M.
-
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.
-
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?
-
hai messo anche il resto dello script?
$user = JFactory::getUser(); etc?
M.
-
si ho messo tutto o anche cambiato il nome per testare es da user4 in left ma non va
-
ciao,
piccolo riepilogo: hai questo codice nel template:
<?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
-
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 (http://mywebhome.altervista.org/html%20template.rar) o puoi posizionare il codice
-
sosituisci la prima riga di php
<?php $user = JFactory::getUser(); if(!$user->id): ?>
con
<?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
-
... effettuo il login e il modulo e ancora li ...
allora nel template che hai allegato devi sostituire la riga 222:
<?php if ($this->countModules('user4')) : ?>
con la seguente:
<?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:
<?php $user = JFactory::getUser(); $user->id = $user->get('id'); if ( ($user->id != 0) and ($this->countModules('user4'))) : ?>
ciao,
marco
-
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'))) : ?>
-
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
-
ok fatto ,
il merito e tuo e di tutti quelli che anno sostenuto questo post nel forum grazie 1000