Escal c’est un jeu de squelettes
- hautement paramétrable
- gérant le multilinguisme
- permettant l’intégration d’un forum, d’un trombinoscope, d’un agenda, ...
- évolutif en fonction des demandes, si elles sont gentiment demandées
Site de démonstration du jeu de squelettes ESCAL fonctionnant sous SPIP3 et mis à la disposition des Etablissements SColaires de l’Académie de Lyon... et de qui veut.
Bonjour et merci pour ce plugin et les explications très pédagogiques !
Étant toutefois débutant, je cale sur un pb : pour mon établissement je souhaite faire 4 onglets, chacun affichant les articles d’une et une seule rubrique (vie pédagogique, administration, cantine, ciné club). J’ai facilement créé ces onglets, mais comment rédiger la boucle qui ne sélectionne qu’une rubrique définie ?
Cédric
Le plus simple et le plus souple, c’est de passer par les mots-clés :
– tu crées un groupe de mots-clés "onglets" par exemple
– dans ce groupe, tu crées les 4 mots-clés "pedagogie", "administration", "cantine", "cinema" par exemple et tu coches la case qui permet de les associer à des rubriques
– tu associes donc chaque mot-clé à sa rubrique
– ensuite, dans les fichiers appelés par les inclure de inc-a_la_une, tu mets une boucle du genre
<BOUCLE_selection(RUBRIQUES){titre_mot="pedagogie"}>
<BOUCLE_peda(ARTICLES){id_rubrique}>
affichage de ton choix
</BOUCLE_peda>
</BOUCLE_selection>
et tu adaptes pour les autres ...
et hop !
Merci pour ta réactivité ! J’ai bien créé mes rubriques et les mots clés à associer. J’ai copié la boucle dans <div class="contenu_2 content">
de inc-a_la_une mais l’onglet reste vide.
1. faut-il modifier <BOUCLE_peda(ARTICLES){id_rubrique}>
en <BOUCLE_peda(ARTICLES){administration}>
par exemple ?
2. qu’entends-tu par "affichage de ton choix" ? j’ai tenté un simple <INCLURE {fond=inclusions/inc-article}>
Où est mon erreur ?
Réponse 1
Non, ce serait plutôt
<BOUCLE_selection(RUBRIQUES){titre_mot="pedagogie"}>
qui devient
<BOUCLE_selection(RUBRIQUES){titre_mot="administration"}>
Réponse 2
l’affichage de ton choix, c’est ce que tu veux afficher ...
– la liste des titres des articles de la rubrique ?
– le plan de la rubrique avec les sous rubriques ?
– ... ?
Si tu veux me donner une URL que je regarde où tu en es, ce serait plus facile pour moi.
J’avais bien fait le premier changement. C’est l’affichage que je ne sais pas gérer. En fait je voudrais le même affichage que dans l’onglet de base, savoir le dernier article mis en valeur et les autres miniaturisés dessous, avec l’effet de transition lorsqu’on les sélectionne.
Malheureusement je suis en local mais je pourrais t’envoyer des copies d’écran par mail.
Merci d’avance !
Ok alors on va essayer autrement :
– tu crées un mot-clé RubriqueOnglet que tu attribues à tes 4 rubriques (on oublie les autres)
– tu mets ceci dans inc-a_la_une (à la place de l’original donc dans une copie du fichier qui se trouvera dans /squelettes/inclusions bien sur)
#CACHE{24*3600}
<div class="cadre-une">
<B_onglets>
<ul class="onglets">
<li><a href="#" name="contenu_1" class="tab active">Actus</a></li>
<BOUCLE_onglets(RUBRIQUES){racine}{par num titre}{titre_mot="RubriqueOnglet"}{doublons rubrique}>
#SET{numero1, #COMPTEUR_BOUCLE|plus{1}}
<li><a href="#" name="contenu_#GET{numero1}" class="tab">#TITRE</a></li>
</BOUCLE_onglets>
</ul>
</B_onglets>
<BOUCLE_contenu(RUBRIQUES){!doublons rubrique}{par num titre}>
#SET{numero2, #COMPTEUR_BOUCLE}
<div class="contenu_[(#GET{numero2})] content">
<INCLURE {fond=inclusions/inc-une_derniers}{id_rubrique}>
</div>
</BOUCLE_contenu>
</div>
– tu me dis ce que ça donne
Ce n’est pas encore l’effet escompté :
– un onglet "Actus" est créé qui regroupe tous les articles des 4 rubriques (avec l’effet javascript)
– 4 onglets sont créés (vie, administration, cinéma cantine) : là aussi tous les articles apparaissent mais sans l’effet javascript
En effet, je viens de tester et c’est pas terrible.
Plus trapu que je ne le pensais... Je réfléchis, je teste et je te tiens au courant.
Je pense avoir trouvé une solution qui te conviendra mais faut que je peaufine.
Pas le temps d’y regarder ce soir ni demain, sans doute ce WE.
Patience ...
Pas d’urgence ! Mais merci pour ton implication !
Bien, reprenons.
Comme je trouvais ton idée intéressante, je l’ai mise en situation.
Pour la mettre en place, tu vas devoir :
1- Mettre à jour le plugin Escal car j’ai fait une petite modif sur plusieurs fichiers pour que ça tourne (passage d’un id en class)
2- attribuer le mot-clé RubriqueOnglet aux rubriques que tu veux.
3- copier le fichier inc-une_derniers.html de /plugins/auto/escal/inclusions dans /squelettes/inclusions et rajouter le critère branche dans la boucle BOUCLE_selection(ARTICLES) de ce fichier
4- mettre le code suivant dans le fichier /squelettes/inclusions/inc-a_la_une.html
#CACHE{24*3600}
<div class="cadre-une">
<B_onglets>
<ul class="onglets">
<BOUCLE_onglets(RUBRIQUES){racine}{par num titre}{titre_mot="RubriqueOnglet"}>
#SET{numero1, #COMPTEUR_BOUCLE}
<li><a href="#" name="contenu_#GET{numero1}"
class="[(#COMPTEUR_BOUCLE|=={1}|?{'tab active','tab'})]">
#TITRE</a></li>
</BOUCLE_onglets>
</ul>
</B_onglets>
<BOUCLE_contenu(RUBRIQUES){par num titre}{titre_mot="RubriqueOnglet"}>
#SET{numero2, #COMPTEUR_BOUCLE}
<div class="contenu_[(#GET{numero2})] content">
<INCLURE {fond=inclusions/inc-une_derniers}{id_rubrique}>
</div>
</BOUCLE_contenu>
</div>
Petites explications :
#SET{numero1, #COMPTEUR_BOUCLE}
stocke l’itération de la boucle dans "numéro1" qui sera utilisé pour numéroter le name et même procédé ensuite pour numéroter la class contenu
class="[(#COMPTEUR_BOUCLE|=={1}|?{'tab active','tab'})]">
permet d’activer le premier onglet au premier affichage en lui donnant la class tab acive au premier passage de la boucle, les autres ayant ensuite la class tab
Résultat de tout ça : peu importe le nombre de rubrique que tu veux mettre en oglets et peu importe leur nom, tout se fera automatiquement, il suffira de leur attribuer le mot-clé
6- Admirer le résultat (si je n’ai rien oublié ...) et se remettre au boulot pour le reste ;-)
Et hop !
En effet j’admire ! Ça fonctionne sans problème, exactement comme je le souhaitais. Merci encore !
Escal c’est un jeu de squelettes