En 456 Berea Street nos muestran una forma muy interesante para poder mostrar tu página con diferentes hojas de estilo. Tiene el inconveniente de que solo admite dos estilos entre los que elegir.
Funciona aunque el javascript esté desactivado, pero no cuando estan desactivadas las cookies, pero no darÃa error, tan solo visitarÃamos siempre la misma página.
El funcionamiento es sencillo, disponemos de dos directorios, cada cual con las hojas de estilo que nos interesa. Habrá un enlace a una página que cuando accedemos a ella nos cambiará de directorio, guardará el valor en una cookie y nos devolverá a la página a la página desde la que hemos hecho la llamada o a la raÃz si no existÃa esa página. Y luego en cada página deberemos obtener el valor del directorio de las cookies y usarlo para recuperar la hoja de estilo correspondiente.
El script que se encarga de cambiar de directorio es el siguiente:
<?php
$layout = (isset($_COOKIE['layout']) && ($_COOKIE['layout'] == "zoom")) ? "main" : "zoom";
setcookie("layout", $layout, time()+31536000, '/');
$ref = (isset($_SERVER['HTTP_REFERER'])) ? $_SERVER['HTTP_REFERER'] : "http://{$_SERVER['SERVER_NAME']}/";
header("Location: $ref");
?>
Y luego en cada página tendremos que incluir lo siguiente:
Para recuperar el directorio.
$layout = (isset($_COOKIE['layout']) && ($_COOKIE['layout'] == "zoom")) ? "zoom" : "main";
Para seleccionar el estilo correcto.
<style type="text/css" media="screen,projection">
@import '/css/<?php echo $layout; ?>.css';
</style>
Build your own PHP style sheet switcher