Html Coco - Gestor de peticiones http/s y plantillas html
Habitualmente las paginas de un sitio web tienen partes comunes que podemos considerar como la envoltura del contenido.
Html Coco envia las peticiones a un script php que recupera el contenido y le aņade la envoltura html.
El gestor se activa colocando el siguiente fichero .htaccess en un directorio para que todas las peticiones que tengan el directorio como raiz sean procesadas por el script htmlcoco.php.
- <IfModule mod_rewrite.c>
- RewriteRule \.(css|js|jpg|jpeg|ico|gif|png|pdf)$ - [L]
- RewriteRule .* aa-proc/htmlcoco.php [L]
- </IfModule>
Las peticiones deben coincidir con un fichero o un directorio del dominio.
Si la peticion es de un fichero no debe llevar extension, el gestor buscara primero aņadiendole al nombre del fichero la extension htm (no html) y si no existe un fichero con la extension htm buscara un fichero con extension php.
Si la peticion es de un directorio el gestor buscara en ese directorio el fichero aa-index con extension htm o php.
| URL | Fichero de contenido | Fichero con la envoltura |
| http://dom.es/dir/ | /dir/aa-index.(htm|php) | /aa-htm/html.(htm|php) |
| http://dom.es/dir/pag1 | /dir/pag1.(htm|php) | /aa-htm/html.(htm|php) |
Los ficheros con extension htm son leidos y procesados por el interprete de plantillas.
Los ficheros con extension php son ejecutados y el texto que generan es procesado por el interprete de plantillas.
Los fichero de envoltura se toman del directorio aa-htm.
Podemos establecer una envoltura diferente incluyendo un comentario en el contenido.
<-- html nombre-de-fichero -->
En el directorio aa-htm ademas de envolturas podemos guardar ficheros para incluir como retales en el contenido o la envoltura.
<-- include nombre-de-fichero -->
Podemos crea directorios en el directorio aa-htm para organizar los retales. Al hacer el include debemos indicar la ruta relativa.
<-- include ejemplos/nombre-de-fichero -->
Creando un fichero aa-aqui.php en un directorio lo convertimos en un nodo.
Un nodo tiene su propio directorio aa-htm de envolturas y retales.
Un nodo puede establecerse como independiente o declararse hijo de un nodo superior.
Si no existe un fichero de envoltura en el directorio aa-htm de un nodo hijo se busca en el directorio aa-htm del nodo padre.
Un nodo hijo dispone de su propio conjunto de retales pero tambien puede incluir retales del nodo padre.
<-- includePadre ejemplos/nombre-de-fichero -->
El fichero de envoltura debe contener una estructura html valida, con los bloques head y body y un div con con el id main en el bloque body.
<html>
<head>
</head>
<body>
<div id=main>
</div>
</body>
</html>
El codigo html del contenido es incrustado en el div con id main de la envoltura.
| Contenido | Envoltura | Resultado |
Prueba |
<html> <head> </head> <body> <div id=main> </div> </body> </html> |
<html>
<head>
</head>
<body>
<div id=main>
Prueba
</div>
</body>
</html>
|
Podemos incluir otros bloques div con id en la envoltura para ser reemplazados desde el contenido.
| Contenido | Envoltura | Resultado |
<div id=tit>
<h1>Titulo</h1>
</div>
<div id=opciones>
<a href="uno">
uno
</a>
<a href="dos">
dos
</a>
</div>
<div id=main>
Prueba
</div>
|
<html>
<head>
</head>
<body>
<div id=tit>
</div>
<a href="/">
Portada
</a>
<a href="catalogo">
Catalogo
</a>
<div id=main>
</div>
<div id=opciones>
</div>
</body>
</html>
|
<html>
<head>
</head>
<body>
<div id=tit>
<h1>Titulo</h1>
</div>
<a href="/">
Portada
</a>
<a href="catalogo">
Catalogo
</a>
<div id=main>
Prueba
</div>
<div id=opciones>
<a href="dos">
uno
</a>
<a href="tres">
dos
</a>
</div>
</body>
</html>
|