Академический Документы
Профессиональный Документы
Культура Документы
PLANTILLAS EN PHP
El concepto de plantilla, es un criterio del desarrollo web que propone optimizar la cantidad de
documentos HTML que se usan en el desarrollo de un sitio web.
A lo largo de la navegacin entre los distintos documentos de un sitio web podemos encontrar una
estructura bsica que se repite a lo largo de la misma.
La plantilla propone aprovechar esta estructura en comn y slo modificar el contenido del rea del
documento que sea diferente.
Para esto se utiliza el paso de datos por GET, donde toda la navegacin se realizar en un nico
documento y acorde al valor recibido por la URL se realizar la carga de un documento que slo
contendr el contenido a mostrar.
PLATAFORMAS OPERATIVAS
Paso de datos, GET y POST + Plantillas
PASO DE DATOS
El paso de datos de un documento al otro, se puede realizar con cualquier elemento del HTML que
pueda encerrarse dentro de una etiqueta <a></a> (un vnculo).
Los vnculos estn formados en primera instancia por el documento que se quiere acceder, seguido
por el signo de pregunta (que da lugar al paso de variables por la URL) y luego el juego de variables
y valores respetando la siguiente sintaxis. Si los datos enviados son ms de uno, se conectan con el
smbolo ampersand (&).
Sitio: http://www.misitio.com
PLATAFORMAS OPERATIVAS
Paso de datos, GET y POST + Plantillas
Como bien se puede ver, no se requiere el uso de PHP para CREAR la etiqueta HTML que enva
las variables (es simplemente la etiqueta <a> con su atributo href, indicando los datos a
enviar), pero s es necesario usar PHP para recibir los datos.
PLATAFORMAS OPERATIVAS
Paso de datos, GET y POST + Plantillas
La estructura de ambos documentos es idntica, slo cambiara lo que se muestra adentro del div
con ID=contenido.
Para armar una estructura basada en plantillas debemos cambiar cuatro cosas de nuestro sitio web:
1. Ya no tendremos 3, 5 10 documentos HTML. Tendremos un nico documento de tipo PHP
que recibir una informacin que represente el contenido a mostrar.
2. Guardaremos en documentos PHP cada uno de los distintos contenidos que ofreca el div con
ID=contenido. Estos documentos tendrn la particularidad de slo tener el contenido que
exista en el div (no estarn las etiquetas <html> <head> ni <body>).
3. El men ir al documento PHP y pasar por el mtodo GET una nica variable con un valor
diferente por cada botn que podamos visitar, ejemplo:
index.php?seccion=QUE_SECCION_SELECCION
4. Adentro del div con ID=contenido, deber tener un bloque de cdigo PHP que evale el
valor de la variable recibida y acorde a cada condicin incluir el documento que slo tiene
contenido.
Adaptando el ejemplo anterior a una estructura de plantillas, primero cortaremos todo el contenido
de ambos div con ID=contenido (dejando la apertura y cierre del div, principalmente como
referencia estructural). Supongamos que en una subcarpeta llamado secciones guardamos los dos
archivos, con este contenido:
El documento principal, ahora tiene el mismo contenido inicial pero con el div id=contenido vaco.
Vamos a modificar primero el men principal. Todos los tems del men irn al documento index.php
y pasarn por URL la variable seccin. Acorde al link clickeado pasar un valor diferente.
<ul>
<li><a href="index.php?seccion=home">Principal</a></li>
<li><a href="index.php?seccion=nosotros">Nosotros</a></li>
<li><a href="index.php?seccion=contacto">Contacto</a></li>
</ul>
PLATAFORMAS OPERATIVAS
Paso de datos, GET y POST + Plantillas
Si usamos una estructura para tomar decisiones (como if switch), podemos inclur un archivo
diferente segn el valor recibido. La funcin que hace esto se llama include( ) incluir y recibe entre
parntesis y comillas la ruta completa para llegar al archivo a cargar: include("carpeta/archivo.php").
Adentro de nuestro div con id=contenido ahora tendremos un bloque de cdigo PHP con esta
evaluacin.
<div id="contenido">
<?php
$seccion = $_GET['seccion']; //guardo en una variable el dato recibido por get.
switch( $seccion ){
case 'home': include("secciones/pagina_principal.php"); break;
case 'nosotros': include("secciones/quienes_somos.php"); break;
case 'contacto': include("secciones/formulario.php"); break;
}
?>
</div>
Cada uno de estos casos del switch ser correlativo con cada uno de los valores pasados en el men
como opcin de la botonera.
PLATAFORMAS OPERATIVAS
Paso de datos, GET y POST + Plantillas
Si el isset() devuelve falso, guardaremos en la variable $seccion alguna de las opciones vlidas del
switch, de forma tal que, al continuar la carga del programa se muestre una seccin vlida.