Quisiera saber como se suele hacer para organizar las páginas/secciones/contenido de una web funcionalmente, para que modificando la menor cantidad de archivos posibles, actualice toda la web en caso de necesitarlo.
Anduve probando mil alternativas todo el día mediante includes y demás, y no logro dar en el clavo. Y además llenar todo de includes complica el posicionamiento de los archivos (OBJETO NO ENCONTRADO!)... tengo que tener, para cada sección, un archivo en el \localhost\ y otro al que haga include en donde corresponda, porque sino no me cargan las imágenes que tengo en \localhost, y yo no quiero tener todo ahí... y por ende creo 2 archivos sin necesidad por cada sección de la web.
Debería hacer algún sistema con php supongo, para lograr que funcione todo correctamente como si fueran frames, y solo se actualice la parte de la página de contenido..... pero no se si sería la mejor opción, y prefiero ponerme a estudiar focalizandome en una opción buena.
Por ejemplo, yo ahora tengo lo siguiente:
*** (pongo los archivos más abajo como referencia)
En \localhost tengo (entre otros y carpetas) a estos archivos:
index.php // sería el home de la web
contenido.php // es el contenido del index
body.php // es el <body> html que hiría en todas las páginas, maquetacion
estilo.css // es el estilo del body, maquetación
***
De esta manera, yo en el index en si no tengo nada, todo está incluido, es decir, incluyo body.php, estilo.css, y contenido.php, y terminaría obteniendo el index completo. Si yo quiero crear una seccion en la web, también haría lo mismo, creo un archivo igual que index, por ejemplo, quienessomos.php, incluyo todo lo mismo, y solo cambio el include de contenido.php, que podría ser por ejemplo, contenidoquienessomos.php, contenidocontacto.php, etc. De esa manera si tengo 100 secciones, con modificar esos archivos que están en el include modifico a todas las secciones.
Sé que esta es una manera rudimentaria de hacerlo y poco practica. Por eso si quieren marcarme alguna dirección haciendo donde encaminarme, yo tomaré su consejo y me pondré a estudiar para aprender como hacerlo aunque no lo sepa ahora.
Además este método lo que hace es que como comenté al principio, debo crear 2 archivos para formar una sección: si yo quiero tener la seccion LOGIN en \localhost\LOGIN\ con todos sus archivos correspondientes ahi, tengo que crear un archivo, digamosle login.php similar al index.php que comente anteriormente, con todos los includes y demás en \localhost, y en dicho archivo incluir el del formulario de login de \localhost\LOGIN, porque sino no se muestran las imágenes, ya que las mismas están definidas en body.css, que.. etc.. No es practico.
Escucho sugerencias, no busco hacer nada complejo, no quiero crear un Joomla, (antes de postear esto intente sacar ideas de CMS que instale para estudiarlos, pero descifrar como funcionan internamente es algo muy dificil para mi ahora)... solo quiero que me encaminen hacia donde debería apuntar, y asi me pongo a estudiar. Calculo que es posible que necesite usar algo más que php para crear un portalcito que sea funcional en cuanto a la manera de actualizar sus páginas, pero no sé cual/les lenguaje/s sería...
MUCHAS gracias.
EDIT: creo que la mayoría de mis problemas con include() los puedo solucionar con include_path 'string', que no lo conocía hasta recién... pero igualmente este sistema no deja de.............
index.php
Código HTML:
<?php include 'usuarios\conectar.php'; session_start(); ?> <html> <head> <link rel="stylesheet" href="estilo.css" type="text/css"> </head> <?php include 'body.php'; ?> <div id="caja"> <div id="contenido"> <?php include'index2.php'; ?> </div> </div> </html>
body.php
Código HTML:
<body> <div id="caja"> <div id="logo"> <img src="img\logo.gif"> </div> <div id="banner"> <img src="img\banner.gif"> </div> <div id="menu"> <?php include'menu.php'; ?> </div> <div id="costado"> <img src="img\costado.gif"> </div> <div id="costado2"> <img src="img\costado2.gif"> </div> <div id="pie"> <img src="img\pie.gif"> </div> <div id="contenido"> </div> </div> </body>
Código HTML:
/* Estilo principal */ {margin:0; padding:0;} body { background-color:#194e09; } #caja { margin:0 auto; width:960px; position: relative; } #logo { width:148px; height:197px; border:0; position:absolute; top:0; left:0; } #banner { width:810x; height:147px; border:0; position:absolute; top:0; left:148px; } #menu { width:810x; height:50px; border:0; position:absolute; top:147px; left:148px; } #costado { width:21px; height:636px; border:0; position:absolute; top:197px; left:0px; } #costado2 { width:121px; height:702px; border:0; position:absolute; top:197px; left:838px; } #pie { width:838px; height:66px; border:0; position:absolute; top:833px; left:0px; } #contenido { width:818px; height:636px; border:0; position:absolute; top:197px; left:21px; background-color:#cddcc8; }