Bandeau

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.

Forum de l’article

A la une

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.
Attention ! Si votre message contient un lien, il devra être validé par le webmestre.

Ajouter un document

Rappel de la discussion
4 onglets pour 4 rubriques différentes
Cédric - le 23 janvier 2011

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

4 onglets pour 4 rubriques différentes
Jean Christophe Villeneuve - le 23 janvier 2011

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 !

4 onglets pour 4 rubriques différentes
cedric - le 25 janvier 2011

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 ?

4 onglets pour 4 rubriques différentes
Jean Christophe Villeneuve - le 25 janvier 2011

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.

4 onglets pour 4 rubriques différentes
cedric - le 26 janvier 2011

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 !

4 onglets pour 4 rubriques différentes
Jean Christophe Villeneuve - le 26 janvier 2011

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

4 onglets pour 4 rubriques différentes
cedric - le 26 janvier 2011

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

4 onglets pour 4 rubriques différentes
Jean Christophe Villeneuve - le 26 janvier 2011

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.

4 onglets pour 4 rubriques différentes
Jean Christophe Villeneuve - le 27 janvier 2011

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 ...

4 onglets pour 4 rubriques différentes
cedric - le 28 janvier 2011

Pas d’urgence ! Mais merci pour ton implication !

4 onglets pour 4 rubriques différentes
Jean Christophe Villeneuve - le 29 janvier 2011

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 !

4 onglets pour 4 rubriques différentes
cedric - le 31 janvier 2011

En effet j’admire ! Ça fonctionne sans problème, exactement comme je le souhaitais. Merci encore !

Derniers commentaires

Modifier un texte
Ok c’était bien ça, cool. A l’avenir, utilises plutôt un éditeur de code plutôt que LibreOffice, (...)

Modifier un texte - suite et fin -
Super, c’est réparé Les apostrophes inclinés venaient de LibreOffice ! Encore (...)

Modifier un texte
Hello Je pencherais pour les apostrophes qui sont incurvées au lieu d’être droites car je ne vois (...)

Modifier un texte
Le fichier ci-dessous déposé dans le répertoire lang ne passe pas. "Parse error : syntax error, (...)

images dans un article
Bonjour Jean Christophe, non, je n’ai pas accès à ce fichier ; le répertoire /config ne m’est pas (...)

Plan du site Contact Mentions légales Données personnelles et cookies Espace privé squelette RSS

2009-2024 © Escal - Tous droits réservés
Haut de page
Réalisé sous SPIP
Habillage ESCAL 4.6.2