Drupal multisito ed header template

13 contenuti / 0 new
Ultimo contenuto
Drupal multisito ed header template

Ciao a tutti, ho bisogno del vostro aiuto.
Il mio sito con drupal è un multisito, ciascuno dei quali ha diversi contenuti in diverse lingue.
Ora, ciascun sottodominio ha lo stesso template, i cui file sono in sites/all/theme/nome del tema.
Io vorrei che ogni sottodominio avesse sì lo stesso template, ma con l'immagine dell'header diversa. Ora, per fare ciò, devo copiare i file del tema in ciascuna cartella "theme" di ogni sottodominio, dopo aver personalizzato l'immagine dell'header? Sarebbe una soluzione molto incasinata!! Non c'è un modo per dire a drupal di pescare il tema uguale per tutti, ma di prendere l'immagine dell'header giusta per il sottodominio giusto?
Spero sia tutto chiaro...forse non mi sono spiegato benissimo...
Mi date una mano per favore???
Grazie!!!

Modifica il template e con un case e con un po di php in cui prendi la path del sito mostri un header diverso.

Per favore, potresti spiegarmi meglio? Non ho proprio capito cosa dovrei fare..."e con un case e con un po' di php": non capisco proprio

nel tempalte, precisamente dove mostri l'immagine puoi controllare la path del sito, con un controllo sul valore della path puoi decidere se mostrare una testata oppure un'altra, il tutto con php.

Voleva probabilmente dire un costrutto switch, tipo:

switch ($nomevariabile) {
  case 'bianco':
    // comandi per il caso bianco
    break;
  case 'nero':
    // comandi per il caso nero
    break;
}

Grazie mille a tutti per le risposte.
Al posto di "bianco" e "nero" cosa dovrei mettere? L'indirizzo dei vari sottodomini? E al posto di "nomevariabile"?
Scusate, ma di php so proprio zero!
Grazie!

al posto di nomevariabile puoi mettere la path del sottodominio (http://www.learnphponline.com/php-basics/how-to-find-the-current-url-in-php) al posto di bianco e nero il sottodominio e al posto di comandi il print dell'immagine.
Ogni referenza e spiegazione la trovi qui: http://www.php.net/

Grazie mille,
comincio a capire.
Ho fatto qualche prova, ma non funziona.
Può darsi che dipenda dal fatto che i vari sottodomini sono impostati con dei symlinks?
Mi spiego: quando digito www.nomesito.com, in realtà vengo reindirizzato a beta.nomesito.com (impostato sull'host).
Poi ho i vari sottodomini, la cui cartella è contenuta in "sites"; tuttavia nella root di drupa ho i quattro symlink che rimandano, appunto alla relativa cartella.
Nel css ho messo:

<?php
 
switch ($beta.nomesito.com) {
  case
'beta.nomesito.com':
    
background: transparent url(../images/nome immagine1.png) no-repeat center bottom;
   
// comandi per il caso bianco
   
break;
  case
'it.nomesito.com':
    
background: transparent url(../images/nome immagine2.png) no-repeat center bottom;
   
// comandi per il caso nero
   
break;
?>

E' giusto??? dopo switch ho messo $beta.nomesito.com perché beta.nomesito.com è il risultato che mi dà lo script per capire la path del sito.
Dove sbaglio??? Grazie!!!

se $beta.nomesito.com è o beta.nomesito.com o it.nomesito.com si p giusto.

No ho capito...
In pratica, se io digito nel browser www.nomesito.com, mi trovo in beta.nomesito.com.
Se digito nel browser beta.nomesito.com mi trovo in beta.nomesito.com
Se digito nel browser it.nomesito.com mi trovo in it.nomesito.com
Se è giusto, come mai non funziona???
Ho anche provato a scrivere

<?php
switch ($beta.nomesito.com) {
  case
'beta.nomesito.com':
    
background: transparent url(../images/nome immagine1.png) no-repeat center bottom;
    break;
?>

e poi
<?php
switch ($it.nomesito.com) {
  case
'it.nomesito.com':
    
background: transparent url(../images/nome immagine2.png) no-repeat center bottom;
    break;
?>

pensando che essendoci i symlinks facesse casini..
Ma non funziona nemmeno così!!
Come mai??
Uff!!!
Grazie!!!

Ora ho capito, ovviamente non hai perso 10 secondi a leggere la documentazione sul case di php e nemmeno a rileggere quello che abbiamo detto.
Infatti ho precisato che la variabile doveva contenere una delle due possibilità.
$beta.nomesito.com è una variabil php che definisci prima con qualcosa del genere (non so come si comporta con i sottodomini ma basta che cerchi un po di funzioni)
$beta.nomesito.com = $_SERVER['SERVER_NAME']

No, spetta...
Ho provato a fare come nel post #9 soltanto dopo aver constatato che quanto fatto nel post #7 non funzionava.
O non ho capito ancora?
Ho provato a leggere il link che mi hai postato, ma non funge...
Non è che gentilissimamente potresti mettermi il codice come secondo te dovrebbe funzionare?
Per favore
Grazie di nuovo

<?php
$sito
= $_SERVER['SERVER_NAME'];
switch (
$sito) {
  case
'<a href="http://beta.nomesito.com':
" rel="nofollow">http://beta.nomesito.com':
</a>     background: transparent url(../images/nome immagine1.png) no-repeat center bottom;
    // comandi per il caso bianco
    break;
  case '<a href="
http://it.nomesito.com':
" rel="nofollow">http://it.nomesito.com':
</a>     background: transparent url(../images/nome immagine2.png) no-repeat center bottom;
    // comandi per il caso nero
    break;
?>

L'unica cosa su cui devi lavorare è la variabile $sito ed ogni spiegazione la trovi qui: http://www.php.net/ (e per favore leggi il funzionament odelle varibili di php e dello switch prima di postare)