La structure actuelle
La commande <INCLURE {fond=xxxx} ......>
et la nouvelle balise #INCLURE
permettent la modularisation des squelettes Spip. Ces commandes permettennt de mettre en œuvre la notion de noisette chère à de nombreux développeurs Spip (SpipKits, monter son squelette en kit ) mais aussi Coder ses squelettes avec des INCLURE.
En poussant à l’extrème, un squelette type pourrait avoir la structure suivante (exemple de rubrique.html) :
<html>
<head>
< INCLURE{ fond = header\}> Noisette header
</head>
<body>
<div class = ''entete''>
<INCLURE{ fond = entete} > Noisette entete
</div>
<div class = ''menu'' >
<INCLURE{ fond = menu} \{ id_rubrique} > Noisette menu
</div>
<div class = ''contenu''>
<INCLURE{ fond = contenu} { id_rubrique} Noisette contenu
</div>
<div class = ''pied''>
<INCLURE{ fond = pied} > Noisette pied
</div>
</body>
</html>
Dans chaque <div>
du squelette, on insère la noix ou la noisette qui va bien, :
- <INCLURE{fond=header}....>
entre les balises <head> ...</head>
- <INCLURE{fond=menu}....>
dans le <div class="menu">
- <INCLURE{fond=contenu}....>
dans le <div class="contenu">
- ....
Dans cette structure, chaque fichier squelette : sommaire.html, rubrique.html, article.html, etc. est une coquille dans laquelle on insère noix et noisette, on constate alors rapidement que pour un site classique tous ces fichiers ont la même structure (feuille de style deux ou trois colonnes avec un bandeau et un pied de page) et qu’il serait judicieux de n’avoir à maintenir qu’un seul fichier plutot que ces n fichiers d’où la proposition de structure qui suit.
Proposition
- la structure des pages web est décrite dans un fichier squelette unique : squelette.html, le [*tronc*] du site
- les fichiers squelettes de base (sommaire, rubrique, article,...) appellent tous un même squelette avec les paramètres nécessaires
-
<INCLURE{fond=squelette}{skl=skl_rubrique}{id_rubrique}>
pour rubrique.html -
<INCLURE{fond=squelette}{skl=skl_article}{id_rubrique}>
pour article.html - ....
- le squelette squelette.html inclue différents contenus en fonction des paramètres transmis la structure pouvant être la suivante
[(#ENV{skl}|=={skl_sommaire}|?{' ',''})
<INCLURE{fond=fenetre-sommaire}>
]
[(#ENV{skl}|=={skl_rubrique}|?{' ',''})
<INCLURE{fond=fenetre-rubrique}{id_rubrique}>
]
[(#ENV{skl}|=={skl_article}|?{' ',''})
<INCLURE{fond=fenetre-article}{id_article}>
]
[(#ENV{skl}|=={skl_galerie}|?{' ',''})
<INCLURE{fond=fenetre-galerie}{id_article}{id_document}>
]
[(#ENV{skl}|=={skl_breve}|?{' ',''})
<INCLURE{fond=fenetre-breve}{id_breve}>
]
- en fonction du paramètre
(#ENV{skl}
passé par l’url, le squelette squelette.html va inclure des « noisettes » différentes
Avantages de la structure
Spip par essence permet de dissocier le fond de la forme, cette structure permet de prolonger cette notion, la forme (le style) est géré par le fichier squelette.html, le contenu par chacune des noisettes incluses (les boucles élémentaires).
L’avantage principal est ici la modularité, cette modularité facilitant la maintenance et l’évolution du site.
Un autre avantage est d’utilser les fichiers rubrique.html, article.html pour effectuer facilement des choix de squelette ainsi, si on souhaite pour certain articles afficher une galerie au lieu de l’article normal il suffiet de définir une nouvelle valeur pour skl comme sur le site.
Le fichier article.html contient :
<B_type-article>
<BOUCLE_type-article(ARTICLES){id_article}{titre_mot=galerie}>
<INCLURE{fond=squelette}{skl=skl_galerie}{id_article}{id_document}{style}{couleur}>
</BOUCLE_type-article>
</B_type-article>
<INCLURE{fond=squelette}{skl=skl_article}{id_article}{style}{couleur}>
<//B_type-article>
On voit que l’on passe soit le paramètre skl_article soit skl_galerie en fonction du mot clef galerie.
Sites exemples
sites en fonctionnement
squelette | squelettes.html | Remarques |
post-it | squelette.html | Compte tenu de la forme de ce squelette, les div sont incluses dans les noisettes |
S.I.I | squelette.html | Ici, le choix des noisettes à inclure se fait soit en fonction du paramètre skl, soit de l’id |
Diapospip | squelette.html | squelette élémentaire utilsant la structure |
Lycée Jacques Amyot | squelette.html |
Site expérimental
Multi Médic
sur ce site, il est possible de modifier la feuille de style et les « tons » du site à partir du même fichier squelette, en chargeant des feuilles de style différentes.
Discussions par date d’activité
Une discussion
Je vous demande faire la vérification par ces codes pour l’entrave à ll’image de la personne par l’application de l’art 1111.1 du code civil et pour le droit à l’image. 78-17 à la loi de 1978.
type_url_description’ => ’Vérifie que l’url correspond à un schéma reconnu.’ et ’type_siren_siret’ => ’SIREN ou SIRET’ et type_email_disponible_description’ => ’Vérifie que l’adresse de courriel n’est pas déjà utilisé par un autre utilisateur du système.’,
’type_entier’ => ’Nombre entier’, et ’type_date_description’ => ’Vérifie que la valeur est une date au format JJ/MM/AAAA. Le séparateur est libre (".", "/", etc). et type_code_postal’ => ’Code postal’,
https://vndng.shewantyou.com/c/da57dc555e50572d?s1=14490&s2=1175038&s3=DOMICT&click_id=DOMICT&j1=1&j3=1
Piera Alfonsa https://www.facebook.com/messages/t/100027654757700
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
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.
Suivre les commentaires : |