entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

3votos

como llamar un archivo php desde un css?

Buenas compañeros, espero estén bien.

No se si exista alguna forma de llamar un archivo php o xml desde un archivo css, porque quiero hacer eso? pues porque quiero crear una plantilla para joomla que sea dinámica a la hora de cambiar los colores de la web.

Ò, como puedo llamar una variable de php a un archivo css.

Amigos les agradezco su colaboración.
De antemano gracias.

2 Respuestas

2votos

carlossevi Puntos63580

Para liarte un poco más yo te voy a recomendar una tercera vía =)

Intenta que el CSS sea estático, definiendo más clases, y que las clases asignadas a los elementos HTML sean los que cambien dinámicamente.

Un ejemplo, el usuario elige por configuración si el texto es azul o rojo, pero solo para él.

Tu pretendes que se genere el CSS dinámicamente y que muestre p {color: blue;}
o p {color: red;} según corresponda.

Yo te propongo que generes dos clases:

p .textoazul {color: blue;}
p .rextorojo {color: red;}

En el PHP (o JS o como quieras) asignas la clase que corresponda a los elementos HTML. De esta manera creo que quedan más separadas las capas de lógica y presentación.

6votos

Leonardo-Tadei Puntos227320

Hola @KoffeeSoft,

la respuesta corta es "de ninguna manera". Los archivos CSS son texto plano, y al igual que HTML, son lenguajes de presentación, no de programación, por lo qu eno son capaces de cargar ni de ejecutar nada.

Por otra parte, un archivo CSS se define por su contenido, no por su extensión, por lo que es perfectamente posible hacer cosas como

...
<link  type="text/css" media="screen, projection" href="style.css.php" rel="stylesheet" />
...

y que tu "CSS" sea un archivo en que puedas programar.

Para esto, la salida del PHP debe ser CSS válido, al igual que cuando hacés una página, en que la salida del archivo PHP debe ser HTML válido para que todo funcione.

Saludos cordiales

2votos

magarzon comentado

Aparte de esta solución, tienes la solución "pro" de utilizar SCSS (o similar), y elegir el tema concreto dinámicamente.

1voto

Leonardo-Tadei comentado

Hola @magarzon,

usar SCSS o SASS o LESS no impplicaría tener que compilar el CSS cada vez que se quiera cambiar?

Estas ecnologías siempre me parecieron muy buenas para generar y mantener hojas de estilo complejas con menos esfuerzo, pero no me parecían aptas para cambiar un CSS dinámicamente (por ejemplo, un tema claro durante el día y uno obscuro a la noche, que dependan del reloj de la máquina para determinar las variaciones)

1voto

magarzon comentado

Hola @Leonardo-Tadei,
Sí, para poder usar SCSS, debe ser compilado previamente, pero lo proponía como forma sencilla de definir diferentes temas (asignando variables a los colores y otras cosas que se quieran cambiar), que habría que tener precompilado, pero resultaría más sencillo que generarlo desde PHP (y por ejemplo puedes cambiar de un tema a otro con AngularJS o con manipulación directa de DOM).

También puedes compilar en tiempo real si utilizas otras soluciones que no sean PHP, como usar combinaciones de libsass, Bourbon, grunt y/o NodeJS, que te pueden llegar a dar tiempos inferiores al segundo.

1voto

KoffeeSoft comentado

Primero que todo gracias por sus prontas respuestas.

Segundo, bueno ya quedo claro que css no deja hacer lo que pensaba paso a seguir abandonar esa idea.

Tercero, que me aconcejan mejor: Manejarlo con LESS o con estilo.css.php?

De antemano gracias.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta