Un Modèle est un morceau de code HTML (un morceau de squelette, donc une noisette) préparée, qui peut tout aussi bien être inséré à partir d’un squelette, ou dans le corps du texte d’un objet éditorial.
Pour utiliser un modèle dans un squelette, on peut prendre une inclusion traditionnelle, ou bien utiliser la balise #MODELES
.
Pour utiliser un modele dans un contenu editorial, on insere une balise pseudo-HTML (mises entre chevrons : "inférieur" et "supérieur") , à la syntaxe des filtres de squelettes
Le nom du modèle indique le nom du fichier HTML inclus à partir d’un sous-dossier /modeles
que vous pouvez créer dans votre dossier ./squelettes
, ou sinon repris des modèles par défaut. [1] [2] [3]
Les modèles fournis
SPIP fournit un certain nombre de noisettes-modèles :
les modèles d’objets :
doc
, emb
, img
, cfg
, audio
, text
& video
principalement pour les documents/fichiers joints.
des modèles spécifiques :
<article_mots>
<article_traductions>
<lesauteurs>
et <favicon>
[4], auquel SPIP 3 ajoute un <plan>
, sans oublier les modèles de medias, désormais dans ./plugins-dist/medias/modeles/
.
Mais vous avez aussi accès aux modèles du prive/modeles/
, diverses paginations et le modèle <formulaire>
.
Ce formulaire que vous trouverez dans ./prive/modèles
est l’une des rares exceptions à la règle de ne jamais écrire de PHP dans un squelette : mais là, c’est pour appeler directement la balise dynamique du formulaire au sein d’un article, parmi Les formulaires CVT de votre application.
Ainsi, au lieu d’écrire #FORMULAIRE_TOTO
dans un squelette, votre rédacteur peut écrire <formulaire|toto>
dans son article [5] ; toutefois, il faudra quand même insérer correctement les paramètres complémentaires dans l’article, pour obtenir un fonctionnement correct : cela vous est facilité par le plugin Inserer modèles, qui permet même d’en calculer les paramètres attendus (par extraction des fichiers YAML de description).
Parmi les usages possibles, l’un des plus originaux est de pouvoir "inclure" le contenu d’un champ d’un objet dans un autre -autre solution que l’article virtuel pour placer un article dans plusieurs rubriques ; ainsi vous pouvez facilement inclure le contenu texte d’un article existant, dans le post-scriptum d’un autre nouveau, en y insérant l’appel au modèle <article33|texte>
dans le corps du nouvel article...
Encore faut-il bien sûr, avoir défini ce modèle dans le sous-dossier ./squelettes/modeles/
de vos squelettes :
- [(#REM) article_texte.html : renvoie le #TEXTE d'un article
- <template><article1|texte></template>
- ][(#REM)
- Modele <article1|texte> : texte d'un article
- #MODELE{article_texte}
- Dans le corps (ou tout autre champ) d'un article
- ]
- <BOUCLE_article(ARTICLES) {id_article} {0,1}>
- #TEXTE
- </BOUCLE_article>
Enfin, pour faciliter l’usage de modèles pour les rédacteurs d’articles, un plugin généralise la manipulation standard INsérer modèles, qu’il serait sans doute utile d’intégrer complètement au core de SPIP !
Article publié le 2 mars 2012, et actualisé en août 2016 .
Répondre à cet article