Accueil > Recettes Techniques > SPIP > SPIP : Analyse d’une metastructure de la DIST
SPIP : Analyse d’une metastructure de la DIST
mercredi 26 septembre 2007, par
Le jeu de squelettes par défaut de SPIP (appelé DIST) est riche en possibilités. Il est souvent possible d’obtenir exactement la présentation de vos rêves, avec quelques modifications seulement. Encore faut-il savoir où aller faire ces modifications et savoir en anticiper les effets secondaires. Pour cela il est nécessaire de voire clairement comment sont constitués les principaux squelettes.
Objectif
Il s’agit de mieux comprendre la structure générale des squelettes de la DIST, en distinguant les constructions communes et les différences.
Méthode
On se restreint aux principaux squelette et on cherche les éléments communs pour essayer de dégager une meta-structure commune à tous. Ensuite on s’intéresse aux parties variantes et particulières de chaque page. Cette analyse porte sur SPIP 1.9.2.
Les squelettes étudiés sont les plus communs : sommaire, rubrique, plan, forum, site.
Structure générale
#CACHE{...}
... "parfois une mention de boucle"
<!DOCTYPE ...
<html...
<head>
<title>[(#NOM_SITE_SPIP|textebrut)]</title>
[<meta name="description" content=...
<INCLURE{fond=inc-head}>
</head>
<body class="...">
<div id="page">
[(#REM) Entete de la page + titre du site ]
<INCLURE{fond=inc-entete}>
[(#REM) Fil d'Ariane ]
<div id="hierarchie">
...
</div>
<div id="conteneur">
...
<div id="contenu">
...
</div><!-- fin contenu -->
[(#REM) Menu de navigation par rubriq
<INCLURE{fond=inc-rubriques}> ...
...
</div><!-- fin navigation -->
</div><!-- fin conteneur -->
[(#REM) Pied de page ]
<INCLURE{fond=inc-pied}{skel=#SQUELETTE}>
</div><!-- fin page -->
</body>
</html>
... "parfois la fin de la boucle de tete"
Tableau de variations
Ce tableau propose une vision synthétique des constantes et des variation dans les squelettes. Une première colonne présente les constantes, les autres indiquent les variantes pour chaque squelette.
Constantes | Variations | ||
---|---|---|---|
#CACHE... | sommaire :
rubrique : #CACHE7200 article : #CACHE86400 plan : #CACHE7200 forum : #CACHE3600 site : #CACHE7200 | ||
sommaire : -
rubrique : article : plan : - forum : - site : | |||
<!DOCTYPE... |
|||
<html dir="#LANG_DIR" lang="#LANG"> |
sommaire :
rubrique : - article : - plan : - forum : - site :
| ||
<head> |
|||
<title>...</title> |
sommaire : <title>[(#NOM_SITE_SPIP|textebrut)]</title>
rubrique : article : plan : forum : site : | ||
sommaire :[<meta name="description" content="(#DESCRIPTIF_SITE_SPIP|cou
rubrique : article : plan : forum : - site : | |||
<INCLURE{fond=inc-head}> |
sommaire :
rubrique : article : plan : forum : site : | ||
<body class="..."> |
sommaire :<body class="page_sommaire">
rubrique : article : plan : forum : site : | ||
<div id="page"> |
sommaire :
rubrique : article : plan : forum : site : | ||
|
sommaire :
rubrique : article : plan : forum : site : | ||
|
sommaire :<div id="hierarchie"><:accueil_site:></div>
rubrique : article : plan : forum : site : | ||
<div id="contenu">...</div> |
sommaire :
rubrique :
article :
plan :
forum :
site :
| ||
</div><!-- fin contenu --> |
sommaire :
rubrique : article : plan : forum : site : | ||
|
sommaire :
rubrique : article : plan : forum : site : | ||
|
sommaire : -
rubrique : article : plan : - forum : - site : | ||
... |
sommaire :
|
|
rubrique : - article : - plan :
forum : - site : - |
|
|||
|
|||
.. |
sommaire :
rubrique : article : plan : forum : site : |
Commun | sommaire | rubrique | article | plan | forum | site |
---|---|---|---|---|---|---|
#CACHE... | #CACHE7200 | #CACHE7200 | #CACHE86400 | #CACHE7200 | #CACHE3600 #HTTP_HEADER"Cache-Control : max-age=3600, must-revalidate" |
#CACHE7200 |
<BOUCLE_rubrique_principal(RUBRIQUES) {id_rubrique}> |
<BOUCLE_article_principal(ARTICLES) {id_article}> |
<BOUCLE_site(SITES){id_syndic}> | ||||
<!DOCTYPE... |
|
|
|
|
|
|
<html dir="#LANG_DIR" lang="#LANG"> |
|
|
|
|
|
|
<head> |
|
|
|
|
|
|
<title>...</title> |
<title>[(#NOM_SITE_SPIP|textebrut)]</title> |
<title>[(#TITRE|textebrut) - ][(#NOM_SITE_SPIP|textebrut)]</title> |
<title>[(#TITRE|textebrut) - ][(#NOM_SITE_SPIP|textebrut)]</title> |
<title><:plan_site:> - [(#NOM_SITE_SPIP|textebrut)]</title> |
<title><:poster_message:> - [(#NOM_SITE_SPIP|textebrut)]</tit |
<title>[(#NOM_SITE|textebrut) - ][(#NOM_SITE_SPIP|textebrut)] |
|
[<meta name="description" content="(#DESCRIPTIF_SITE_SPIP|cou |
[<meta name="description" content="(#INTRODUCTION|couper{150} |
[<meta name="description" content="(#INTRODUCTION|couper{150} |
[<meta name="description" content="(#DESCRIPTIF_SITE_SPIP|cou |
|
[<meta name="description" content="(#DESCRIPTIF|couper{150}|t |
<INCLURE{fond=inc-head}> |
|
|
|
|
|
|
<body class="..."> |
<body class="page_sommaire"> |
<body class="page_rubrique"> |
<body class="page_article"> |
<body class="page_plan"> |
<body class="page_forum"> |
<body class="page_site"> |
<div id="page"> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div id="hierarchie"><:accueil_site:></div> |
<div id="hierarchie"><a href="#URL_SITE_SPIP/"><:accu |
<div id="hierarchie"><a href="#URL_SITE_SPIP/"><:accu |
<div id="hierarchie"><a href="#URL_SITE_SPIP/"><:accu |
voire source |
<div id="hierarchie"><a href="#URL_SITE_SPIP/"><:accu |
<div id="contenu">...</div> |
|
|
|
|
|
|
</div><!-- fin contenu --> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<INCLURE{fond=inc-rubriques}{id_rubrique} |
<INCLURE{fond=inc-rubriques}{id_rubrique} |
|
|
<INCLURE{fond=inc-rubriques}{id_rubrique} |
... |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. |
|
</BOUCLE_rubrique_principal> |
</BOUCLE_article_principal> |
|
|
</BOUCLE_site> |