Back to top

Autore Topic: mini guida: un joomla più domini  (Letto 951 volte)

Offline MarcusJ

  • Esploratore
  • **
  • Post: 107
  • Sesso: Maschio
    • Mostra profilo
mini guida: un joomla più domini
« il: 11 Mar 2009, 12:58:26 »
Ciao ragazzi, non so se questo possa esservi utile, lo sto testando e sembra funzionare, che cosa?
Ho uno spazio web a cui puntano più domini, e voglio che ogni dominio abbia oltre che un aspetto diverso anche dei contenuti diversi senza impazzire per convivere con gli altri domini utilizzando un solo Joomla (nel mio caso 1.0, non so se possa applicare alla versione 1.5).

Poniamo di avere 2 domini: primodominio.it, secondodominio.it
di cui abbiamo 2 template: primotpl, secondotpl
Prima cosa da fare è assegnare ovviamente menu differenti ai domini senza che questi si mischino.
Poi dal menu template assegnare il template primotpl alle pagine del primodominio e secondotpl alle pagine del secondodominio, e fin qui tutto normale.
Primo accorgimento, all'inizio di ogni template mettere la stringa per sicurezza:
Per il primo dominio:
<?php if($_SERVER['HTTP_HOST']!='www.primodominio.it') header('Location: http://www.primodominio.it/');  ?>

Per il secondo dominio:
<?php if($_SERVER['HTTP_HOST']!='www.secondodominio.it') header('Location: http://www.secondodominio.it/index.php/homepage.html');  ?>

Nel senso che ogni template deve assicurarsi che se si punta ad una pagina con un dominio differente a quello che dovrebbe essere rimanda alla homepage.

Tutto funziona a meraviglia tranne se si usano componenti! dove sta il problema?
Semplice, faccio un esempio: se un form creato con chronoform del secondo dominio, viene inviato punterà ad una pagina che non ha assegnato nessun template, quindi verrà preso come template il default: primotpl, vanificando eventuali output, ecc..
Allora qui va la seconda modifica, bisogna prendere il file index.php nella directory principale di Joomla e aggiungere una riga tipo questa:
if($_SERVER['HTTP_HOST']=='www.secondodominio.it' && $_GET['option']!='') $cur_template = 'secondotpl';
Praticamente gli dico: se il dominio e secondodominio.it e si sta chiamando un componente forza l'utilizzo del template secondotpl.

da mettere sopra a:
// loads template file
if ( !file_exists( $mosConfig_absolute_path .'/templates/'. $cur_template .'/index.php' ) ) {
   echo _TEMPLATE_WARN . $cur_template;
} else {
   require_once( $mosConfig_absolute_path .'/templates/'. $cur_template .'/index.php' );
   echo '<!-- '. time() .' -->';
}

ovviamente la modifica può essere apportata per n domini.

Per adesso l'unico problema insormontabile è l'utilizzo di componenti condivisi come un forum, dove il componente è uno e quindi non possono essere divisi i contenuti.

ciauz
Marcus


 



Web Design Bolzano Kreatif