El esqueleto Zpip

Zpip [1] es un esqueleto reutilizable, modular y con una galería de temas a disposición. Es el resultado de una fusión de los proyectos Zesty y SPIP-Zen.

El proyecto Zpip

Zpip es un esqueleto aplica las ideas expuestas en Modelo de esqueleto reutilizable. Cuenta con una organización del esqueleto que satisface

  • presentación : diseños independientes del esqueleto.
  • mantenibilidad a los largo del tiempo, basada en la minimización del código duplicado.
  • rápida implementación, al precio de una pequeña curva de aprendizaje debido a la nueva estructura.

Zpip es útil tanto para principiantes que disfrutarán de una galería de temas listos para usar, como para webmaster a los que les propone una nueva y más productiva estructura de trabajo.

Organización de los archivos

Zpip redefine todos los esqueletos dist por defecto en su carpeta raíz :

404.html, article.html, auteur.html, backend.html, breve.html, forum.html, login.html, mot.html, page.html, plan.html, recherche.html, rubrique.html, site.html, sommaire.html, y spip_pass.html.

Con la excepción del canal RSS (backend.html), estos esqueletos se han reescrito para incluir al menos structure.html en el que se basan todas las páginas. Puedes olvidarte de los esqueletos dist ; no tendrás que tocarlos salvo en circunstancias excepcionales.

Se incluyen, entonces, dos esqueletos adicionales en la raíz : structure.html y body.html.

El primero structure.html, plantea la estructura mínima de la página HTML, incluyendo el esqueleto responsable de producir la cabecera (<head>). El segundo, body.html define el diseño único y sobre el que ahondaremos con mayor detalle.

Zpip contiene además de seis subcarpetas.

Dos son genéricas :

  • img/ que contiene todas las imágenes de decoración
  • inclure/ que contiene esqueletos comunes y compartidos entre diferentes páginas.

Las otras cuatro son las que contienen códigos en función de cada página web que se desea mostrar :

  • head/ contiene los de esqueletos para <head> personalizables para cada página cuando sea necesario. Existe además un <head> común, situado en include/.
  • contenu/ donde estarán todos los esqueletos encargados de producir el contenido principal de cada página
  • extra/ donde estarán todos los esqueletos que producen la información de contexto adicional para cada página
  • navigation/ donde estárán todos los esqueletos que producen información de navegación específicos para cada página

Layout único

Zpip se organiza alrededor de un layout único, body.html , que incluye 6 bloques lógicos de contenido y las estructuras HTML necesarias.

Las 6 unidades se denominan de acuerdo a la siguiente convención, asociado al contenido de la información y sin prejuzgar sobre el nombre y la estructura definida por el tema :

  • entête establece la presentación de la página y la identidad del sitio
  • barre-nav constituye la navegación principal del sitio ; puede estar vacío
  • contenu contiene la información principal de la página, en función del tipo de página
  • navigation proporciona elementos de navegación secundaria, desglosadas por tipo de página
  • extra proporciona información relacionada con el contexto, desglosadas por tipo de página
  • pied proporciona elementos para el seguimiento y recordatorios de secundaria

El layout de Zpip es simple :

<div id="page">
	<div id="entete">
		<INCLURE{fond=inclure/entete,env}>
	</div>
	<div id="nav">
		<INCLURE{fond=inclure/barre-nav,env}>
	</div>
	
	<div id="conteneur">	
		<div id="contenu">
			<INCLURE{fond=contenu/#ENV{type},env}>
		</div>

		<div id="navigation">
			<INCLURE{fond=navigation/#ENV{type},env}>
			<INCLURE{fond=extra/#ENV{type},env}>
		</div>
	</div>

	<div id="pied">
		<INCLURE{fond=inclure/pied,env}>
	</div>
</div>

Vemos que esta disposición utiliza una sola columna
#navigation que integra los bloques de contenido navigation y extra.

Páginas automáticas

Zpip incorpora un mecanismo para la generación automática de páginas completas de un sólo esqueleto de contenido.

Por ejemplo, es suficiente escribir un esqueleto minimalista contenu/page-inscription.html conteniendo el siguiente código :

#FORMULAIRE_INSCRIPTION

para que la página completa spip.php?page=inscription esté disponible

Para realizar esto Zpip utiliza los elementos comunes inclure/entete.html, inclure/barre-nav.html y inclure/pied.html. Para los elementos de navegación y extra, Zpip utiliza por defecto los esqueletos navigation/page-dist.html y extra/page-dist.html si ningún esqueleto navigation/page-inscription.html o extra/page-inscription.html está definido.

Este mecanismo de páginas automáticas permite adjuntar, de manera rápida y fácil, páginas específicas « ad hoc », en coherencia inmediata con el resto del sitio. De igual manera, permite a los plugins definir páginas dedicadas, utilizables por todos los sitios según su propia estructura, que será automáticamente generada por Zpip.

Por ejemplo, un plugin de newsletter puede crear fácilmente un esqueleto contenu/page-abonnement.html (que permite al abonado gestionar sus preferencias) que podrán utilizar todos aquellos sitios que se basen en Zpip

Zpip permite generar el menú de navegación principal directamente desde el espacio privado con la ayuda del plugin Menus. Es suficiente crear un menu con el identificador barrenav para que sea automaticamente insertada en el lugar de la navegación principal, sin modificaciones de archivos.

Composiciones

Zpip está naturalemnte concebido para funcionar con el plugin Compositions que permite usar varios tipos de composiciones por objeto.

Temas

Gracias a su estructura, Zpip se puede utilizar directamente con una galería de temas intercambiables.

Para facilitar la escritura de nuevos temas para Zpip, hay un cierto número de convenciones documentadas que definen una plataforma común.

Los temas que respeten esta convención podrán ser utilizados indiferentemente por Zspip o cualquier otro esqueleto que se base en una estructura similar.

Notes

[1El nombre de este esqueleto no tiene que ver con el infame Zorglub, sino más bien con una comedia musical futurista que imagina el futuro de SPIP en 2050

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom