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 Puntos60950

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 Puntos215240

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

magarzon comentado Sep 27, 2016

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

Leonardo-Tadei comentado Sep 27, 2016

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)

magarzon comentado Sep 27, 2016

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.

KoffeeSoft comentado Sep 27, 2016

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.

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Otras Preguntas y Respuestas


Actividad Reciente

...

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

Conecta