SPIP

[ar] [bg] [ca] [cpf] [cs] [da] [de] [en] [eo] [es] [eu] [fa] [fon] [fr] [gl] [id] [it] [ja] [lb] [nl] [oc] [pl] [pt] [ro] [sv] [tr] [vi] [zh] Espace de traduction

Descargar la última versión

SPIP 1.9.2 SPIP 1.9.2

¿Dónde poner los archivos de esqueletos?

En la carpeta squelettes/, pués :-)

Enero de 2007

Todas las versiones de este artículo:


Como probablemente ya lo sabes (sinó, mejor empieza por leer el tutorial y luego eventualmente recorre el manual de referencia), el sistema de esqueletos está basado en archivos .html que contienen la presentación gráfica del sitio. Por ejemplo, «article.html» presenta los artículos, «rubrique.html» las secciones...

Pero, ¿dónde hay que poner estos archivos? Que se trate de modificar levemente los esqueletos por omisión de la distribución, de retomar un juego completo recuperado en Spip-contrib o en otro lado, o de consturir tu propio juego de esqueletos, es preferible ponerlos en el buen lugar.

Los esqueletos por omisión: dist/

Desde [SPIP 1.8] los esqueletos de la distribución están agrupados en la carpeta dist/. Estos esqueletos, utilizados por omisión para producir la presentación de un sitio SPIP, fueron ámpliamente retocados y mejorados para la salida de SPIP 1.9.

Puedes examinar el contenido de esta carpeta y partir de este juego de esqueletos para adaptar la paginación a tus necesidades [1]. No obstante, no hay que modificar los archivos de la carpeta dist/. Efectivamente, cuando acutalizarás SPIP en ocasión de un cambio de versión, el contenido de esta carpeta será borrado y perderías tus propias modificaciones...

Conviene poner tus archivos en squelettes/ o en otra carpeta como indicado a continuación.

Histórico:
Desde SPIP 1.3 y hasta A probar: SPIP 1.7 Versión Beta 3, los archivos de esqueletos distribuídos con SPIP estaban situados en la raíz del sitio y se denominaban article-dist.html, rubrique-dist.html, etc. Para personnalizarlos, alcanzaba con copiarlos o cambiarles el nombre por article.html, rubrique.html, etc. (sin el -dist).

Tu carpeta squelettes/

Desde [SPIP 1.8] , para manipular tus propios esqueletos, lo más simple es crear en la raíz de tu sitio una carpeta denominada squelettes/ (¡cuidado con la “s” al final!) y poner ahí tus archivos de personalización .html que contengan código SPIP.

Bien te puedes limitar a remplazar sólo una parte de los archivos de esqueletos: si SPIP no encuentra ahí un archivo .html que le sea necesario, lo irá a buscar en la carpeta dist/. Así, si sólo pusiste un archivo, por ejemplo article.html, en la carpeta squelettes, SPIP utilizará este esqueleto para la presentación de los artículos y los de la dist para todas las otras páginas del sitio.

¡Y muchos otros archivos de personalización!

Además de los archivos .html con código SPIP, la carpeta squelettes/ está destinada, más generalmente, a contener todos los archivos necesarios a la paginación y presentación del sitio. En particular:

-  una variante de las hojas de estilo de la distribución (habillage.css, spip_style.css, agenda.css etimpression.css). Efectivamente, una primer manera de personalizar la presentación por omisión del sitio (sin ni siquiera aprender el lenguaje de bucles SPIP, ¡pero que de por si puede ser espectacular gráficamente!) será de retomar estas hojas de estilo de la distribución, empezando por copiarlas en la carpeta squelettes/. La sección «Personalización gráfica» propone una iniciación a las hojas de estilo y a su utilización con SPIP,
-  otras hojas de estilo que habrás creado o retomado en otro lado: en tus esqueletos tendrás simplemente que hacer referencia a estos archivos .css con la baliza #CHEMIN (como se hace para los de la distribución) :#CHEMIN{mis_estilos.css} ,
-  otros efectos y adornos: de la misma manera, con la baliza #CHEMIN, puedes utilizar en tus esqueletos imágenes, javascripts, etc.
-  el archivo mes_fonctions.php que es posible (y que se aconseja) localizar en esta carpeta, desde SPIP 1.8, SPIP 1.8.1.
-  esqueletos de formularios,
-  archivos de idiomas: para construir una navegación multilingue personalizada de tus esqueletos, pondrás (de preferencia en una sub-carpeta lang/) tus archivos de idioma, ya sea un archivo personal local_cz.php, la substitución del public_fr.php de los esqueletos por omisión, o incluso la substitución de los archivos spip_oc.php y ecrire_ar.php, para remplazar las cadenas de idioma del espacio privado,
-  etc...

Para personalizar la carpeta de esqueletos

Otra posibilidad que ofrece SPIP es declarar una variable de personalización $dossier_squelettes en el archivo ecrire/mes_options.php como explicado en la documentación correspondiente, que define una o varias carpetas donde SPIP buscará los esqueletos en prioridad:

Más allá del aspecto cosmético si el nombre de la carpeta squelettes/ no te gusta, esta funcionalidad abre difrenetes posibilidades como:
-  probar un unevo juego de esqueletos sin borrar el anterior,
-  organizar tus esqueletos en una arborescencia de carpetas y sub-carpetas: mis_skel:mis_skel/rss:mis_skel/formularios:mes_skel/mailing,
-  manejar dinámicamente varios juegos de esqueletos, gracias a diferentes plug-ins que se distribuyen para la 1.9,
-  etc.

Seamos más exhaustivos y resumamos. Cuando SPIP identificó un archivo .html de esqueleto, lo buscará en diferentes carpetas en el orden siguiente:

-  en primer lugar en [la lista de] carpeta[s] designada[s] por el contenido de la variable de personalización $dossier_squelettes, si está definida,
-  luego en la carpeta squelettes/,
-  luego en la raíz del sitio,
-  y enfin en la carpeta dist/.

Histórico: El hecho que SPIP busque los esqueletos en la raíz es histórico, dado que era el primer lugar donde estaban localizados [2]. Además, hasta la [SPIP 1.8.3], SPIP buscaba los esqueletos en la raíz antes de la carpeta squelettes/.

Para ir más lejos

Las variantes de esqueletos

Otra funcionalidad de SPIP que permite indicarle cual archivo de esqueletos debe aplicar a una página es la gestión de variantes de esqueleto, que es el objeto de un artículo de la documentación. Permite elegir, ya no una carpeta para el juego de esqueletos entero, sino un archivo dado en función de la sección del sitio donde uno se encuentra y/o en función del idioma de la página.

[SPIP 1.9] La sobrecarga de código y los plugins

En realidad, el mecanismo descrito más arriba para elegir la localización de un archivo no se aplica sólo a los esqueletos sino tambien al conjunto del código SPIP. En la jerga de los informáticos se habla de «sobrecargar el código», y al orden de las carpetas se le llama el «SPIP_PATH». Esto encuadra y define las normas de desarrollo para los «plugins», extensiones de las funcionalidades de SPIP que cada un@ en la comunidad puede aportar.

Grosso modo, cuando SPIP debe utilizar un archivo, lo buscará:
-  primero, en este orden, en la lista de carpetas definidas en la variable $dossier_squelettes,
-  luego en la carpeta squelettes/ situada en la raíz del sitio,
-  luego en la lista de carpetas de la variable $plugins,
-  en la raíz del sitio,
-  en la carpeta dist/,
-  y porfín en la carpeta ecrire/.

«Grosso modo», porque a esto se agregan según los casos ciertas sutilezas [3] que van más allá del alcance de este artículo de introducción y que serón objeto de documentaciones detalladas en la Guía de las funciones avanzadas.

Así, es posible modificar como se lo desee ciualquier característica del comportamiento de SPIP, sin por eso privarse en el futuro de las evoluciones de la distribución ni del soporte de la comunidad. ¡SPIP se volvió modular!

¿Y los archivos .php3 (o .php) en todo esto?

Recordemos ante todo que a partir de SPIP 1.9, ya no hay archivos .php3 (ou .php) para los esqueletos: SPIP calcula todo a partir del script único spip.php. Todo lo que sigue es, pués, histórico.

En [SPIP 1.8.2] y [SPIP 1.8.3], existía un archivo page.php3 que prefiguraba spip.php y la forma de inclusión de SPIP 1.9. Efectivamente, page.php3 permite, por si solo, llamar cualquier esqueleto pasando en parámetro la variable de fondo, es decir el archivo de esqueleto .html que se debe utilizar:

Lo más simple era entonces utilizar una llamada de este tipo [4] para cualquier esqueleto otro que los objetos de base (artículo, breve, seccion, portada,...) para los cuales existe un archivo .php3 en la raíz, lo que permitia utilizar la forma habitual de la dirección:

Hasta [SPIP 1.8.1] era necesario crear un archivo .php3 que sea la pareja del .html en la antigua estructura de esqueletos SPIP. Este debía situarse en la raíz del sitio [5].

Notas

[1] Incluso es este un método muy aconsejados, dado que este juego de esqueletos fue pensado para ser completo y modular.

[2] Eso tenía la ventaja de facilitar la visualización de éstos en un navegador, dado que los enlaces con las .css y otros adornos gráficos se encontraban sistematicamente “a fuego” desde la raíz.

[3] Como una nomenclatura de archivos en función de su papel, lo que hace, por ejemplo, que SPIP irá a buscar los archivos de idioma en una sub-carpeta lang/, como lo vimos más arriba.

[4] Cabe indicar que este método también funciona con la baliza <INCLURE(page.php3){fond=inc-encabezado}>.

[5] Salvo, eventualmente, aquellos que sólo se los utilice en una inclusión <INCLURE(esquel.php3)> y no directamente por una URL. En este último caso, el archivo esquel.php3 podía también ser desplazado a la carpeta de esqueletos.


Ver el esqueleto de esta página Sitio desarrollado con SPIP | Espacio de los y las traductoras | Espacio privado