Instrucciones SSI
SSI -Server Side Includes- es un mini lenguaje de lado servidor soportado por -al menos- los servidores Apache y Nginx, y permiten implementar varias funcionalidades útiles sin el peso que implica activar un intérprete como PHP. Son muy útiles para implementar eficientemente, y de manera sencilla, la inclusión de código común dentro de documentos en un sitio, por ejemplo los módulos de header y footer.
Para poder usar instrucciones SSI en nuestros documentos, es necesario primero habilitarlas en el servidor. Los archivos que las usen deberían tener una extensión particular, como ".shtml", o en su defecto estar marcados como código ejecutable.
La sintaxis de las instrucciones SSI es sencilla:
<!--#instruccion parametro=valor parametro=valor -->
Como se ve, las instrucciones se embeben dentro de comentarios HTML, de este modo si se desactiva el soporte de SSI, los usuarios no verán las instrucciones en la página. A continuación describiremos las instrucciones SSI más comunes. Además de estas, cabe notar que el lenguaje permite usar estructuras de control básicas.
Esta instrucción es probablemente la más usada en los sitios Prontus, dado que se emplea para embeber los header, footer y demás módulos comunes dentro de artículos y plantillas. Se describe el uso en el artículo sobre inclusión de archivos en plantillas.
La instrucción "set" permite especificar el valor de una variable SSI. Es útil por ejemplo en una plantilla de portada para tener una variable con el nombre de esa portada.
<!--#set var="portada" value="inicio" -->
Permite usar el valor de una variable predefinida, ya sea una creada con la instrucción set, o una variable de ambiente HTTP.
<!--#echo var="portada" -->
El uso del código en este ejemplo escribiría en el punto donde se use el valor "inicio".
Para más información, puede revisar el documento sobre SSI en Wikipedia, o la documentación de su servidor HTTP.
Las sentencias condicionales permiten mostrar u ocultar un contenido de acuerdo a una expresión a evaluar.
<!--#if expr="expresion" -->
Contenido a mostrar
<!--#elif expr="expresion" -->
Otro contenido a mostrar
<!--#else -->
Otro contenido diferente a mostrar
<!--#endif -->
Un ejemplo más practico del uso de sentencias condicionales con variables predefinidas
<!--#if expr="$portada = inicio" -->
Portada Inicio
<!--#elif expr="$portada = desarrollo" -->
Portada Desarrollo
<!--#else -->
Portada por Defecto
<!--#endif -->