Back to top

Autore Topic: verificare se c'è qualcosa da pubblicare in una posizione  (Letto 1957 volte)

Offline marlow

  • Esploratore
  • **
  • Post: 108
  • Sesso: Maschio
    • Mostra profilo
Ciao a tutti,
sono passato da joomla 1.0 a 1.5 da poco e ho difficoltà ad integrare funzioni che mi permettevano di "adattare" il template alle esigenze.
Ad esempio, utilizzando <?php if (mosCountModules('user8') > 0) { ?> verificavo la presenza di moduli pubblicati nella posizione user8 per adattare graficamente lo spazio.

Sul sito http://www.agriculturepoint.it verifico se i tre banner quadrati sono pubblicati. La differenza è visibile tra la home e le altre pagine.

Il problema con la 1.5 è che questo codice non funziona.

Qualcuno potrebbe indicarmi qual'è l'equivalente?

Offline marlow

  • Esploratore
  • **
  • Post: 108
  • Sesso: Maschio
    • Mostra profilo
Re:verificare se c'è qualcosa da pubblicare in una posizione
« Risposta #1 il: 03 Lug 2009, 15:47:43 »
dimenticavo: è chiaro che sono al corrente che $this->countModules( 'user8' ) dovrebbe essere l'equivalente, ma come posso condizionare al numero di moduli presenti (nel caso di J1.0 segnavo "> numero" ) ?

Pubblico il codice che ho scritto, dovrebbe creare la colonna sidebar2 se nella posizione right c'è qualcosa, altrimenti l'area content occupa tutto lo spazio disponibile:

<?php // esegui questa condizione solo se right ha contenuti
if($this->countModules('right')) : ?>

<div class="content">
<?php if ($this->countModules('breadcrumb') || artxHasMessages()) : ?>
<div class="Post">
    <div class="Post-body">
<div class="Post-inner">
<div class="PostContent">
<jdoc:include type="modules" name="breadcrumb" />
<jdoc:include type="message" />

</div>
</div>
</div>
</div>
<?php endif; ?>
<jdoc:include type="component" />

</div>
<div class="sidebar2">
<jdoc:include type="modules" name="right" style="artblock" />
</div>
</div>

<?php  else : // esegui questa condizione solo right non ha contenuti ?>

 <div class="content2">
<?php if ($this->countModules('breadcrumb') || artxHasMessages()) : ?>
<div class="Post">
    <div class="Post-body">
<div class="Post-inner">
<div class="PostContent">
<jdoc:include type="modules" name="breadcrumb" />
<jdoc:include type="message" />

</div>
</div>
</div>
</div>
<?php endif; ?>
<jdoc:include type="component" />
</div>
</div>

<?php endif; ?>
« Ultima modifica: 03 Lug 2009, 16:05:58 da marlow »

Offline conti1

  • Global Moderator
  • Instancabile
  • *****
  • Post: 9075
  • Sesso: Maschio
    • Mostra profilo
Re:verificare se c'è qualcosa da pubblicare in una posizione
« Risposta #2 il: 04 Lug 2009, 01:08:04 »
ciao
non ti seguo sarà il caldo
allora ora come ora il tuo sito non ha una posizione user8  almeno da quel che si vede ,
Citazione
Ad esempio, utilizzando <?php if (mosCountModules('user8') > 0) { ?> verificavo la presenza di moduli pubblicati nella posizione user8 per adattare graficamente lo spazio.
cosa intendi x verificavo la presenza....
se hai creato la posizione user8 e pubblichi un modulo in quella posizione non devi fare altro che vedere come si vede nel sito  e dali che vedi se il modulo sta giusto nella posizione user8  se devi modificare il modulo devi agire su css.
Citazione
dimenticavo: è chiaro che sono al corrente che $this->countModules( 'user8' ) dovrebbe essere l'equivalente, ma come posso condizionare al numero di moduli presenti (nel caso di J1.0 segnavo "> numero" ) ?
perché vuoi condizionare i numero ?
pura curiosità ?
se nel user8 metto due moduli ne vedo 2  e cosi via sta poi a te di non esagerare altrimenti allunghi troppo la pagina.
se possibile postare il link  x risolvere al meglio il problema grazie
evitare nomi commerciali grazie

Offline copesc

  • Appassionato
  • ***
  • Post: 500
    • Mostra profilo
Re:verificare se c'è qualcosa da pubblicare in una posizione
« Risposta #3 il: 04 Lug 2009, 09:37:19 »
$this->countModules() ritorna il numero di moduli presenti nella posizione passato come parametro, per cui se vuoi verificare che il numero di moduli non sia superiore a 2

if($this->countModules('pos')<=2)

ecc.
Extensioni e Template per Joomla

Offline copesc

  • Appassionato
  • ***
  • Post: 500
    • Mostra profilo
Re:verificare se c'è qualcosa da pubblicare in una posizione
« Risposta #4 il: 04 Lug 2009, 09:40:50 »
[sbagliato il topic]
« Ultima modifica: 08 Lug 2009, 12:11:26 da copesc »
Extensioni e Template per Joomla

Offline marlow

  • Esploratore
  • **
  • Post: 108
  • Sesso: Maschio
    • Mostra profilo
Re:verificare se c'è qualcosa da pubblicare in una posizione
« Risposta #5 il: 08 Lug 2009, 11:55:01 »
Grazie per i contributi. Non ho potuto rispondere prima perché ho trascorso qualche giorno lontano dai computer :)

La risposta di copesc mi è utilissima,
Citazione
if($this->countModules('pos')<=2)
la provo subito.

Citazione
perché vuoi condizionare i numero ?
pura curiosità ?

no, non è pura curiosità. Ti faccio un esempio semplice rimandandoti al sito su cui sto lavorando:
tec.tempocomune.it
Ci sono 3 colonne. Quella centrale non sempre è necessaria, per cui il mio layout deve adattare la colonna dei contenuti facendole occupare anche lo spazio della seconda colonna. Se verifico la presenza di un modulo utilizzo un layout a tre colonne, altrimenti a due. In questo modo mi evito di creare un layout assegnato alle pagine diverse dal template predefinito (immagina che casino sarebbe per il cliente che deve assegnare alla pagina anche il template, mi sbrana vivo).

Altra funzione sullo stesso sito, e questa è già attiva, è l'assegnazione dell'header. Il cliente ha chiesto di poter mettere un visual diverso su alcune pagine. Lo farà lui quando creerà di volta in volta nuovi contenuti. Grazie a qualche stringa di php, verifico se il cliente abbia assegnato un modulo con il flash da visualizzare nell'header. Se non l'ha fatto, automaticamente ne comparirà uno di default.

Insomma, una serie di automatismi che riducono gli interventi nel pannello di controllo.
Mi sono spiegato?

Offline marlow

  • Esploratore
  • **
  • Post: 108
  • Sesso: Maschio
    • Mostra profilo
Re:verificare se c'è qualcosa da pubblicare in una posizione
« Risposta #6 il: 08 Lug 2009, 12:04:04 »
Grazie copesc per la segnalazione del libro, farò un salto da Feltrinelli per sbirciare qualche pagina ed eventualmente comprarlo.
Beato te che hai seguito il corso di applicazioni ipermediali!
Vedo anche che Luca Mainetti è professore associato all’Università di Lecce dove insegna Ingegneria del software e Informatica grafica. Forte, informatica grafica! Quando frequentavo l'università nn se ne parlava nemmeno.

Offline copesc

  • Appassionato
  • ***
  • Post: 500
    • Mostra profilo
Re:verificare se c'è qualcosa da pubblicare in una posizione
« Risposta #7 il: 08 Lug 2009, 12:10:02 »
Ecco dov'è finito questo post  ;D

Avevo sbagliato topic  ::)
Extensioni e Template per Joomla

 



Web Design Bolzano Kreatif