split css su tutto il sito

evangigi

Nuovo Utente
14 Set 2009
4
0
0
Ciao a tutti

sono nuovo e subito vi pongo un problema che ( sicuramente è stupido ) ma mi sta facendo esaurire ..

allora:

Dato un sito strutturato con CMS, vorrei impostare in php uno switch che, al click mi permetta di assegnare un foglio CSS anzichè un'altro.

In poche parole vorrei che gli utenti avessero una serie di 5 CSS ( gia preparati) e che al click sul pulsante radio potessero cambiare il colore di sfondo assegnando cosi il css preferito.
Posto qui sotto quello che ho fatto

La Form : ( che come action richiama la spessa pagina)

<form name="bgs" method="POST" action="index.php" >

<label>
<input type="radio" name="color" id="colori" value="blue" />
</label>
<label>
<input type="radio" name="color" id="colori2" value="red" />
</label>
<label>
<input type="submit" name="cambia" id="cambia" value="Invia" />
</label>
</form>

-------------------------------------------------------------------------

La if in testa alla pagina :

<?php

$css="blue";





$for = $_POST["color"];


if ( $for == "") {
$for = $css;
} else{
$css=$for;
}



?>


<link href="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template?>/css/<?php echo $css; ?>.css" rel="stylesheet" type="text/css" />

__________________________________________________


Ora i problemi sono due, il primo è che se non valorizzo in testa la variabile $css, la pagina all'apertura non mi mostra alcun foglio di stile.
La seconda è che quando clicco sui pulsanti della form questo sì assegna il nuovo css al sito, ma se cambio pagina e navigo nei contenuti questo parametro viene perso e il css non viene caricato.

HEEEEEEEEEEEEEEEEELLLLLLLLLLLLLLLLPPPPPPPPPPPPPP MEEEEEE


Grazie a tutti fin da ora

:byebye::byebye:
 
A questo indirizzo una possibile strategia:
http://www.webmasterworld.com/forum91/4554.htm
In sostanza si tratta di scrivere il valore del tag
<link href...>
in base alla scelta dell'utente. Nell'esempio che viene mostrato viene fatto tutto tramite javascript, nel tuo caso, invece, dovresti utilizzare php.
In base alla scelta effettuata dall'utente e ricevuta tramite il metodo (post o get) non devi fare altro che fare che scrivere tramite echo il tag link dettagliando il filesource opportuno.
Ad esempio se l'utente avrà scelto il layout 1 farai
PHP:
$cssfile = ...;
if ($layout == 1)
{
echo "<link href="'+$cssfile+'" type='text/css' rel='stylesheet'>";
}
Mentre la variabile $cssfile verrà valorizzata, ovviamente in base al layout scelto. es.
PHP:
if ($scelta == 1)
$cssfile = "stile1.css";
else if ($scelta == 2)
$cssfile = "stile2.css";
...
Spero di essere stato chiaro, viceversa dimmi pure i tuoi dubbi e cercherò di aiutarti.

Alternativamente, a questo indirizzo
http://javascript.internet.com/css/change-style.html
c'è una soluzione già pronta basata solo su javascript + cookies senza php e mi sembra interessante anche perchè semplice e pronta all'uso..

Saluti, Ciro
 
ciao Lotus

Grazie per la tempestiva risposta, provo ora entrambe le soluzioni e ti faccio sapere com'è andata :D
 
problema analogo..

lo script funziona perfettamente ma se navigo all'interno del sito, la variabile perde la scelta fatta in home page

non riesco a fargli trasportare l'informazione
 
problema analogo..

lo script funziona perfettamente ma se navigo all'interno del sito, la variabile perde la scelta fatta in home page

non riesco a fargli trasportare l'informazione
conservala in sessione, se l'utente opera una scelta diversa la distruggi e crei una nuova sessione
 

Discussioni simili

M
Risposte
0
Visite
1K
HTML e CSS
Membro cancellato 49667
M