PHP y CSS

Tres formas de trabajar las css con php

Klee

archivado en: PHP/AJAX / 23 febrero, 2014

Que yo sepa, hay tres maneras de trabajar las CSS con PHP.

a) Una es preparar un documento php definiendo en la primera línea el header como css:

<?php header("Content-type: text/css; charset: UTF-8"); ?>

Luego en el resto del código se pueden recoger y tratar las variables que se necesiten para definir las css como si estuviéramos tratando cualquier documento php:

$colorPersonalizado = "#ededed";

.miEstilo {

color: <?= $colorPersonalizado; ?>;

}

b) Otra es abrir el documento css (o uno html) antes de enviarlo y escribir las css que necesitemos. Por ejemplo, para una cosa del trabajo, primero cojo de una tabla unos colores personalizados:

$todoColores = $this->nld_Personalizacion->getColoresLibro($idLibro);

...armo una cadena:

$cadena = ".textPrimary { color:#".$todoColores['color1']." }

.borderPrimary { border-bottom:1px solid #".$todoColores['color1']." }

.textPrimaryLight { color: #".$todoColores['color2']." }

.textSecondary { color: #".$todoColores['color3']." }

....

Y la enchufo en un documento que creo dinámicamente:

$rutaEstiloPersonalizado =  $destino."css/colors.css";

$archivo = fopen($rutaEstiloPersonalizado, 'aw');

fwrite($archivo, $cadena);

fclose($archivo);

c) Y una tercera forma, variante de la anterior, es abrir un documento, almacenarlo en una variable (que es una cadena) sobrescribir lo que sea y luego "escupirlo" xD con un echo.

Por ejemplo, para otra cosa del curro, abro el archivo principal:

$pagina_inicio = file_get_contents($_SERVER['DOCUMENT_ROOT'].'/ruta/index.html');

...obtengo unos colores que están definidos en una base de datos, los armo en una cadena:

$todoColores = $this->nld_Personalizacion->getColoresLibro($idLibro);

$cadena = "<style type='text/css'>";

$cadena .= ".borderPrimary { border-bottom: 1px solid #".$todoColores['color1']."; }

.textPrimary { color:#".$todoColores['color1']."; }

.textPrimaryLight { color: #".$todoColores['color2']."; }
...

.bgSecondaryLight { background: #".$todoColores['color4']."; }";

$cadena .= "</style>";

...reemplazo una cadena del archivo original por la cadena que acabo de armar dinámicamente.

$pagina_inicio = str_replace('<link rel="stylesheet" href="ruta/colors.css">', $cadena, $pagina_inicio);

...y ya solo falta lanzarlo con un echo.

echo $pagina_inicio;

|| Tags:

valoración de los lectores sobre PHP y CSS

  • estrellica valoración positiva
  • estrellica valoración positiva
  • estrellica valoración positiva
  • estrellica valoración positiva
  • estrellica valoración positiva
  • 5 sobre 5 (3 votos)

¿Te ha parecido útil o interesante esta entrada?
dormido, valoración 1 nadapensativo, valoración 2 un poco sonrisa, valoración 3 a medias guiño, valoración 4 bastante aplauso, valoración 5 mucho

Tú opinión es muy importante, gracias por compartirla!

Los comentarios están cerrados.