Back to top

Autore Topic: joomla 1.3 e tempalte con zone collassabili  (Letto 3430 volte)

Offline redpanda

  • Esploratore
  • **
  • Post: 127
    • Mostra profilo
joomla 1.3 e tempalte con zone collassabili
« il: 26 Mag 2008, 14:37:07 »
salve, ho cercato tanto ma nulla ho trovato su questo argomento, o meglio ho trovato solo cose parziali, fino a quando non ho letto la guida scarica da joomlapixel (guida davvero utile) dove tra le tante cose si affronta anche la collassabilità delle zone del template.la guida è ben fatta ma tratta la versione 1.5 di joomla adesso mi chiedvo come era possibile adattare quel codice per la versione precendete di joomla.
ad esempio
<?php
if($this->countModules('left and right') == 0) $contentwidth = "intero";
if($this->countModules('left or right') == 1) $contentwidth = "mezzo";
if($this->countModules('left and right') == 2) $contentwidth = "tutte";
?>
questo codice setta le variabili che andranno ad agire sulla zone che dovranno scomparire
e quaeto
<!-- colonna sinistra --> <?php if($this->countModules('left')) : ?>
<div id="colonnasinistra">
<jdoc:include type="modules" name="left" style="" />
</div><?php endif; ?>
<!-- fine colonna sinistra -->
invece carica il modulo e il relativo codice css(per brevità riposto solo la chiamata per una sola zona)

adessso posto che questo sitema funziona come dovrei muovermi per renderlo compatibile con joomla 1.3

grazie per disponibilità
redpanda

Offline bigham

  • Global Moderator
  • Instancabile
  • *****
  • Post: 3662
  • Sesso: Maschio
  • Contagiato dalla Joomlaite :)
    • Mostra profilo
Re: joomla 1.3 e tempalte con zone collassabili
« Risposta #1 il: 26 Mag 2008, 15:52:11 »
Ciao.

Leggi gli articoli a questo link
Ce ne sono due che fanno al caso tuo.
Spero tu conosca il php.  ;)

Se cercavi nelle guide di questo sito lo avresti trovato subito  ;)
Questo è il link
Ci sono più cose in cielo e in terra, Orazio, di quante ne sogni la tua filosofia.

Offline redpanda

  • Esploratore
  • **
  • Post: 127
    • Mostra profilo
Re: joomla 1.3 e tempalte con zone collassabili
« Risposta #2 il: 26 Mag 2008, 16:13:58 »
conosco la guida che mi hai indicato ma nulla anche seguendola passo passo non sono riuscito ad avere il risultato che volevo, che poi era quello che la guida dichiarava, anzi ho fatto anche presente alla redazione del sito che qualcosa non mi tornava e ho spedito loro il risultato della guida, ma è ovvio che per questioni legate alla diponibilittà ancora non mi hanno risposto

cmq grazie per la segnalzione

 

Offline redpanda

  • Esploratore
  • **
  • Post: 127
    • Mostra profilo
Re: joomla 1.3 e tempalte con zone collassabili
« Risposta #3 il: 26 Mag 2008, 16:17:24 »
ovviamente chi avesse soluzioni alternative a me va bene ugualmente

grazie


Offline bigham

  • Global Moderator
  • Instancabile
  • *****
  • Post: 3662
  • Sesso: Maschio
  • Contagiato dalla Joomlaite :)
    • Mostra profilo
Re: joomla 1.3 e tempalte con zone collassabili
« Risposta #4 il: 27 Mag 2008, 22:03:31 »
Mi riferisco all'esempio contenuto nel secondo link che ti ho postato, anche se lo stesso articolo è presente su joomlashow.

Mi limito a tradurre il codice da te postato per la versione di joomla 1.3

Questo codice:
Citazione
<?php
if($this->countModules('left and right') == 0) $contentwidth = "intero";
if($this->countModules('left or right') == 1) $contentwidth = "mezzo";
if($this->countModules('left and right') == 2) $contentwidth = "tutte";
?>

Potrebbe essere tradotto in questo modo
Citazione
$nmod=0;
if mosCountModules('left')  $nmod++ ;
if mosCountModules('right')  $nmod++;

if $nmod == 0  $contentwidth = "intero" ;
if $nmod == 1  $contentwidth = "mezzo" ;
if $nmod == 2  $contentwidth = "tutte" ;

La funzione della 1.5 $this->countModules('posizione_modulo') equivale alla mosCountModules('posizione_modulo') della versione precedente.

Questo codice:
Citazione
<!-- colonna sinistra -->
<?php if($this->countModules('left')) : ?>
      <div id="colonnasinistra">
<jdoc:include type="modules" name="left" style="" />
      </div>
<?php endif; ?>
<!-- fine colonna sinistra -->

Può essere tradotto così:
Citazione
<!-- colonna sinistra -->
<?php if(modCountModules('left') == 1) { ?>
      <div id="colonnasinistra">
   <?php mosLoadModules('left') ?>
      </div>
<?php } ?>
<!-- fine colonna sinistra -->

Mi pare sia abbastanza chiaro.
Gli articoli che ti ho indicato non erano certo la soluzione al problema ma andavano compresi per poter trarre le dovute conclusioni. Insomma dei suggerimenti per comprendere il funzionamento.

Spero di essere stato d'aiuto.
Ciao
Ci sono più cose in cielo e in terra, Orazio, di quante ne sogni la tua filosofia.

Offline redpanda

  • Esploratore
  • **
  • Post: 127
    • Mostra profilo
Re: joomla 1.3 e tempalte con zone collassabili
« Risposta #5 il: 29 Mag 2008, 08:39:59 »
grazie lo proverò e vi farò sapere
ciao

Offline redpanda

  • Esploratore
  • **
  • Post: 127
    • Mostra profilo
Re: joomla 1.3 e tempalte con zone collassabili
« Risposta #6 il: 29 Mag 2008, 10:45:02 »
ciao ho provato il codice che mi hai postato e sembrava funzionare ma quando pubblico più di due moduli sia nella posizione left che nella posizione right non visulizza nulla anche se come visualizzazione lascia dello spazio bianco.

di seguito ti posto il codice del index.php
da cosa può dipendere

ciao e grazie
<?php defined( "_VALID_MOS" ) or die( "Direct Access to this location is not allowed." );?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php if ( $my->id ) { initEditor(); } ?>
<meta http-equiv="Content-Type" content="text/html;><?php echo _ISO; ?>" />
<?php mosShowHead(); ?>
<?php echo "<link rel=\"stylesheet\" href=\"$GLOBALS[mosConfig_live_site]/templates/$GLOBALS[cur_template]/css/template_css.css\" type=\"text/css\"/>" ; ?><?php echo "<link rel=\"shortcut icon\" href=\"$GLOBALS[mosConfig_live_site]/images/favicon.ico\" />" ; ?>
<?php
$nmod=0;
if (mosCountModules('left') ) $nmod++ ;
if (mosCountModules('right') ) $nmod++;
if ($nmod == 0)  $contentwidth = "intero" ;
if ($nmod == 1)  $contentwidth = "mezzo" ;
if ($nmod == 2)  $contentwidth = "tutte" ;
?>

</head>
<div id="wrapper">
<!-- colonna sinistra -->
<div id="header"><?php echo $mosConfig_sitename; ?></div>
<?php if(mosCountModules('left') == 1) { ?>
      <div id="colonnasinistra">
   <?php mosLoadModules ( 'left' ); ?>
      </div>
<?php } ?>
<!-- fine colonna sinistra -->

<!-- contenuti -->
<div id="contenuti<?php echo $contentwidth; ?>">
<?php mosMainBody(); ?>
</div>
<!-- fine contenuti -->

<!-- colonna destra -->
<?php if(mosCountModules('right') == 1) { ?>
      <div id="colonnadestra">
   <?php mosLoadModules('right') ?>
      </div>
<?php } ?>
<!-- fine colonna destra -->
<div id="footer"><?php include_once('includes/footer.php'); ?></div>
</div>
<body>
</body>
</html>

Offline redpanda

  • Esploratore
  • **
  • Post: 127
    • Mostra profilo
Re: joomla 1.3 e tempalte con zone collassabili
« Risposta #7 il: 29 Mag 2008, 12:23:36 »
credo di aver risolto ho sostituito <?php if(mosCountModules('left') >= 1) { ?>
      <div id="colonnasinistra">
   <?php mosLoadModules ( 'left' ); ?>
      </div>
<?php } ?>

al posto di<?php if(mosCountModules('left') == 1) { ?>
      <div id="colonnasinistra">
   <?php mosLoadModules ( 'left' ); ?>
      </div>
<?php } ?>

adesso mi vusualizza tutti i moduli pubblicati nella posizione left (ovviamente l'accortezza è stata adottata anche per la posizione right).
 aggiungo solo una curiosità (è chiaro che questa soluzione  i va benissimo) se clicco sulla sezione notize dove nella posizione right non è pubblicato nulla il template si comporta in maniera corretta se invece la stessa notiza la vado a leggere dalla home con il pulsante leggi tutto il tutto rimane come statico cioè le colonne e in questo caso la colonna di destra rimane visualizzata

ciao

Offline bigham

  • Global Moderator
  • Instancabile
  • *****
  • Post: 3662
  • Sesso: Maschio
  • Contagiato dalla Joomlaite :)
    • Mostra profilo
Re: joomla 1.3 e tempalte con zone collassabili
« Risposta #8 il: 29 Mag 2008, 21:36:45 »
Ciao.
Vedo che sei stato attento ;D
Comunque puoi anche studiare il codice di qualche altro template. In genere queste tecniche sono usate abbastanza spesso.

Anzi, il modo migliore per imparare è proprio quello di stiduare il lavoro degli altri.

Ciao e alla prossima
Ci sono più cose in cielo e in terra, Orazio, di quante ne sogni la tua filosofia.

 



Web Design Bolzano Kreatif