Menu | Contenu | Retour | Actualités | Progression | Rechercher | Pied de page | Accessibilité | Plan du site | Accueil
Imprimer | Plan du site |

Bernard-Paul Eminet - 06 73 42 90 23 - Drupal | SPIP | Claroline | Formateur - Développeur - français/anglais

Lire aussi
  • Le resumé des articles d’une rubrique
  • Considérons le modèle suivant : rubrique_resume.html à placer dans le dossier squelettes/modeles (...)
  • Le mini-plan d’une rubrique
  • Considérons le modèle suivant : rubrique_sommaire.html à placer dans le dossier squelettes/modeles (...)
  • Faire un glossaire
  • Considérons le modèle suivant : rubrique_sousrub.html à placer dans le dossier squelettes/modeles (...)
  • Un flux de syndication dans un contenu
  • Ce modèle permet d’afficher des flux de syndication dans n’importe quel contenu du site. (...)
  • Protéger un adresse email par modèle
  • Placer dans le contenu d’un site : Envoyer un mail est tout à fait correct, mais l’adresse (...)
  • Afficher des articles par mot-clé
  • Le modèle suivant permet d’afficher des articles qui sont associés à un mot-clé. Il suppose (...)
  • Faire une recherche sur un groupe de mot-clés
  • Considérons le modèle suivant : groupemot.html à placer dans le dossier squelettes/modeles du (...)
  • Signaler une nouveauté
  • Ce modèle est simpliste, il permet de signaler une nouveauté en ajoutant un petit visuel devant (...)
    Accueil du site « La notion de "modèle SPIP" « Quel est l’intérêt d’un modèle ?
    Diminuer la taille des caractères Augmenter la taille des caractères

    Quel est l’intérêt d’un modèle ?

    Voici comment je l’explique dans mes formations.

    La meilleure et la plus simple illustration de l’intérêt d’un modèle est de la rapproché de la notion d’article virtuel (redirection).

    Il est possible de rediriger un article vers un autre en utilisant la redirection. Un article est situé dans l’arborescence du site mais "pointe" vers un autre. On peut le comparer avec le raccourci (ou l’alias sur Macintosh) d’un article sur le bureau d’un ordinateur.

    L’inconvénient de cette méthode est qu’elle fait passer l’internaute dans une autre partie de l’arborescence. Le chemin d’accès devient différent (c’est pareil pour un raccourci, cela dit).

    Faire un nouvel article par copier/coller n’est pas un bonne idée car dans ce cas les deux articles sont alors physiquement différents un changement de l’un n’est pas répercuté sur l’autre.

    Un exemple simpliste mais suffisant

    Il est créé le modèle de nom article_virtuel.html placé dans le dossier : squelettes/modeles du site.

    Contenu de ce fichier :

    [(#REM)  On récupère le contexte de l'article par l'ID qui est passé par l'appel dans le corps du texte ]
    <BOUCLE_article (ARTICLES) {id_article}>
    [(#TEXTE)]
    </BOUCLE_article>

    C’est tout....

    On désire créer par exemple un article virtuel qui fait référence à l’article A d’ID 12. Dans le texte d’un autre article B on tape tout simplement : <article12|virtuel>

    On fait référence au modèle article_virtuel en passant le contexte de l’article 12. L’article affiche alors le texte de l’article 12 et l’internaute reste dans l’arborescence de l’article virtuel B.
    Une modification de l’article A entraîne évidemment une modification de l’article virtuel B.

    Il est alors possible imaginer toutes les variantes possibles. Ainsi si le texte de l’article contient :

    <article12|virtuel>
    <article24|virtuel>
    <article32|virtuel>

    Il contiendra les textes des trois articles.

    Tout contenu peut utiliser un modèle

    L’appel à un modèle peut être placé n’importe où ; dans les attributs d’une rubrique (descriptif, texte explicatif), d’un article, d’une brève etc.

    Le modèle précédent est simpliste et ne crée rien. Il ne fait que répéter quelque chose qui existe déjà.
    La notion de modèle permet une autre façon de réorganiser le contenu du site.

    Plus simplement dit et de façon générale : si le besoin survient de rassembler des contenus du site et de les afficher d’une façon différente, une lumière orange devrait clignoter dans la tête : « Et si j’écrivais un modèle ? »

    Les avantages

    Les modèles sont assez simples à mettre en œuvre, et le curseur est mieux placé sur la personne qui administre le site. Il choisit les modèles adaptés à ses besoins.
    Après une compréhension du développement des squelettes, elle peut s’offrir la possibilité d’affichages différents, de regrouper des informations etc. Et pour cela, elle ne touche pas aux squelettes (ce qui est toujours dangereux).
    Le modèle ne marche pas ? pas grave on n’a pas touché à la structure du site.

    Un modèle est dynamique (normal... c’est du code SPIP). Toute modification de l’objet ciblé par le modèle entraîne un changement du résultat produit par ce dernier.

    Cela est aussi un bon moyen pour tester des activités qui seront - peut-être par la suite - intégrées dans des squelettes - et on ne touche pas aux squelettes...
    Les modèles autorisent aussi le passage de variables, les possibilités sont alors infinies. Il est envisageable de proposer des modèles qui changent les CSS ou proposent des affichages différents.
    Cela peut être aussi une bonne alternative aux plugins
    J’en oublie...

    Cela dit, il y a un revers à la médaille.
    Puisque le curseur est mieux placé sur les rédacteurs, cela suppose plus de formation pour ces derniers. Il vont aller plus loin que placer dans le texte des syntaxes comme <img12|left>, <doc15|left> etc.
    Il doit savoir que <article12|virtuel> fait ceci et <article12|resume> fait cela. Et ça, il va falloir lui apprendre et bien documenter le site...