Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/11/2011, 20:10
potoka
 
Fecha de Ingreso: octubre-2009
Mensajes: 107
Antigüedad: 14 años, 6 meses
Puntos: 2
problema al hacer un include y distintas carpetas

Hola a tod@s, no supe bien que nombre ponerle, pero la cuestión es la siguiente:

Tengo un proyecto en el que por primera vez tengo todo ordenado por carpetas y modularizado según la maqueta de la web. La estructura de directorios es:

/css/estilos.css
/productos/jarra.php
/imagenes/fotos/jarra1.jpg
/imagenes/iconos/facebook.jpg
index.php
header.php
footer.php

Y algunos archivos más, pero con estos alcanza para darles una idea y contarles mi problema.

La idea es que en mi archivo index.php, hago un include con php, de los archivos header.php y footer.php. El archivo header.php es el que llama a la hoja de estilos, y lo hace de la forma típica:
<link rel="stylesheet" media="screen" type="text/css" href="css/estilos.css" >

Esto anda perfecto!


Ahora bien, cuando voy a mi archivo jarra.php, cómo lo único que cambia respecto al index.php es lo que tiene en el contenido, también hago include de header.php y footer.php, pero no me toma los estilos!!
El problema creo que pasa en que ahora, cuando el header.php llama a la hoja de estilos, deberia hacerlo : <link rel="stylesheet" media="screen" type="text/css" href="../css/estilos.css" >, es decir agregarle un ../, para que salga de la carpeta productos y luego entre a css.
Problemas similares me ocurren con las imáges como se podrán imaginar. Que obviamente no puedo solucionar, agregándole ese ../ , ya que solucionaría los problemas para jarra.php, pero los tendría con index.php.

Ahora la pregunta es, se les ocurre una solución para esto, que no implique poner todos los archivos en una misma carpeta? Es decir, que no quiero dejar de tener todo ordenado por carpetas, pero tampoco tener que hacer un archivo header.php para cada una de esas carpetas. Hay algo que lo solucione? Tal vez incluir los archivos con otra función que no sea un include? pero no sabría cual.
Bueno, muchas gracias desde ya!