Afficher un squelette article selon un mot-clé.

Cette boucle permet de choisir le squelette « article » selon un mot-clé.

J’avais besoin, pour rendre un site plus attrayant et interactif, d’afficher des articles à contenu variable. Par exemple, lorsque l’article contient un quiz avoir une présentation spécifique ou lorsque l’article contient un diaporama en avoir une autre.

Dans mon cas, on va donc avoir 3 squelettes article différents :

-  le squelette du quiz
-  le squelette du diaporama
-  le squelette pour les articles par défaut

1 - Création des mots-clés
Dans un groupe de mots-clés dédié à la mise en page (exemple) on crée :

-  qcm
-  diaporama

On relève le numéro de ces mots-clés.

2 - Création des squelettes
On crée les couples .html et php des squelettes du qcm et du diaporama. On crée également le couple .html et php du squelette par défaut :

-  qcm.html, qcm.php
-  diaporama.html, diaporama.php
-  article-defaut.html, article-defaut.php

Les versions php contiennent le script d’affiche du modèle concerné et les versions html contiennent la mise en page du squelette ainsi que les boucles.

3 - Création du contrôleur
Le contrôleur est le couple article.html et article.php qui routera l’article sur le bon modèle selon la mise en page souhaitée.

Voici la boucle à insérer dans article.html :

<BOUCLE_principale(ARTICLES) {id_article}> 

<BOUCLE_qcm(MOTS){id_article}{id_mot = 1}> 
<INCLURE(qcm.php3){id_article}> 
</BOUCLE_qcm> 

<BOUCLE_diaporama(MOTS){id_article}{id_mot = 2}> 
<INCLURE(diaporama.php3){id_article}> 
</BOUCLE_diaporama> 

<INCLURE(article-normal.php3){id_article}> 

<//B_diaporama> 

<//B_qcm> 

</BOUCLE_principale> 

<//B_principale>

Cette méthode de sélection de squelette par mot clé est la plus simple qui existe, elle est inspiré du fonctionnement du squelette EVA. D’autre méthode, plus complexes mais basées sur le même principe, existent pour les utilisateurs expérimentés et exigeants : par exemple sur spip-contrib ou encore sur le Bloog

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