Onglets du CS dans squelette avec titre= balise NOM_SITE

Bonjour à toutes et tous,
Je cherche à faire un squelette affichant les sites syndiqués
sélectionnables par onglets du Couteau Suisse.
Je bute sur:
- Comment intégrer l'ONGLETS_DEBUT dans mes boucles ?
   j'ai mis "Liste Sites" en attendant.
- ONGLETS_TITRE{#NOM_SITE} m'affiche un onglet sans titre .

Mes boucles simplifiées:

<code>

<B_site_autres>
[(#ONGLETS_DEBUT{Liste Sites})]
       <BOUCLE_site_autres(SITES) {syndication=oui}{doublons}>
[(#ONGLETS_TITRE {#NOM_SITE})]
     <BOUCLE_articles_autres(SYNDIC_ARTICLES) {id_syndic} {par date}{inverse}{pagination}>

     </BOUCLE_articles_autres>

         </B_articles_autres>
#ONGLETS_FIN
</BOUCLE_site_autres>
     </B_site_autres>

</code>

Spip 1.9.2e

CS 1.8.05.04

Merci par avance pour votre aide

Yanik

Oui, il s'agit d'un bug pour #NOM_SITE, je viens de le corriger.
J'ai également fait évoluer le code pour utiliser les onglets dans une boucle SPIP.

Il te faut mettre à jour le Couteau Suisse (version 1.8.06.01 disponible en zip vers 13h35).

Intitulé de la correction :
+ Onglets : bug résolu sur les balises en argument
+ Possibilité pour un onglet principal (non imbriqué) au sein d'une boucle, d'omettre #ONGLETS_DEBUT. Pratique quand on veut placer le résultat d'une boucle dans le titre des onglets.

Par exemple, le code :

  <B_sites>
  <BOUCLE_sites(SITES){syndication=oui}>
    [(#COMPTEUR_BOUCLE|=={1}|?{' '})#ONGLETS_DEBUT{#NOM_SITE}]
    [(#COMPTEUR_BOUCLE|>{1}|?{' '})#ONGLETS_TITRE{#NOM_SITE}]
    <BOUCLE_articles(SYNDIC_ARTICLES){id_syndic}{par date}{inverse}>
    &bull; #TITRE<br/>
    </BOUCLE_articles>
  </BOUCLE_sites>
  #ONGLETS_FIN
  </B_sites>

peut être simplifié en :
  > <B_sites>

  <BOUCLE_sites(SITES){syndication=oui}>
    #ONGLETS_TITRE{#NOM_SITE}
    <BOUCLE_articles(SYNDIC_ARTICLES){id_syndic}{par date}{inverse}>
    &bull; #TITRE<br/>
    </BOUCLE_articles>
  </BOUCLE_sites>
  #ONGLETS_FIN
  </B_sites>

Pat

Y.bourgeois a écrit :

Bonjour à toutes et tous,
Je cherche à faire un squelette affichant les sites syndiqués
sélectionnables par onglets du Couteau Suisse.
Je bute sur:
- Comment intégrer l'ONGLETS_DEBUT dans mes boucles ?
  j'ai mis "Liste Sites" en attendant.
- ONGLETS_TITRE{#NOM_SITE} m'affiche un onglet sans titre .

Mes boucles simplifiées:

<code>

<B_site_autres>
[(#ONGLETS_DEBUT{Liste Sites})]
      <BOUCLE_site_autres(SITES) {syndication=oui}{doublons}>
[(#ONGLETS_TITRE {#NOM_SITE})]
    <BOUCLE_articles_autres(SYNDIC_ARTICLES) {id_syndic} {par date}{inverse}{pagination}>

    </BOUCLE_articles_autres>

        </B_articles_autres>
#ONGLETS_FIN
</BOUCLE_site_autres>
    </B_site_autres>

</code>

Spip 1.9.2e

CS 1.8.05.04

Merci par avance pour votre aide

Yanik

Pat a écrit :

Oui, il s'agit d'un bug pour #NOM_SITE, je viens de le corriger.
J'ai également fait évoluer le code pour utiliser les onglets dans une boucle SPIP.

Il te faut mettre à jour le Couteau Suisse (version 1.8.06.01 disponible en zip vers 13h35).

Intitulé de la correction :
+ Onglets : bug résolu sur les balises en argument
+ Possibilité pour un onglet principal (non imbriqué) au sein d'une boucle, d'omettre #ONGLETS_DEBUT. Pratique quand on veut placer le résultat d'une boucle dans le titre des onglets.

Par exemple, le code :

    <B_sites>
    <BOUCLE_sites(SITES){syndication=oui}>
        [(#COMPTEUR_BOUCLE|=={1}|?{' '})#ONGLETS_DEBUT{#NOM_SITE}]
        [(#COMPTEUR_BOUCLE|>{1}|?{' '})#ONGLETS_TITRE{#NOM_SITE}]
        <BOUCLE_articles(SYNDIC_ARTICLES){id_syndic}{par date}{inverse}>
        &bull; #TITRE<br/>
        </BOUCLE_articles>
    </BOUCLE_sites>
    #ONGLETS_FIN
    </B_sites>

peut être simplifié en :
    > <B_sites>

    <BOUCLE_sites(SITES){syndication=oui}>
        #ONGLETS_TITRE{#NOM_SITE}
        <BOUCLE_articles(SYNDIC_ARTICLES){id_syndic}{par date}{inverse}>
        &bull; #TITRE<br/>
        </BOUCLE_articles>
    </BOUCLE_sites>
    #ONGLETS_FIN
    </B_sites>

Pat

Y.bourgeois a écrit :

Bonjour à toutes et tous,
Je cherche à faire un squelette affichant les sites syndiqués
sélectionnables par onglets du Couteau Suisse.
Je bute sur:
- Comment intégrer l'ONGLETS_DEBUT dans mes boucles ?
  j'ai mis "Liste Sites" en attendant.
- ONGLETS_TITRE{#NOM_SITE} m'affiche un onglet sans titre .

Mes boucles simplifiées:

<code>

<B_site_autres>
[(#ONGLETS_DEBUT{Liste Sites})]
      <BOUCLE_site_autres(SITES) {syndication=oui}{doublons}>
[(#ONGLETS_TITRE {#NOM_SITE})]
    <BOUCLE_articles_autres(SYNDIC_ARTICLES) {id_syndic} {par date}{inverse}{pagination}>

    </BOUCLE_articles_autres>

        </B_articles_autres>
#ONGLETS_FIN
</BOUCLE_site_autres>
    </B_site_autres>

</code>

Spip 1.9.2e

CS 1.8.05.04

Merci par avance pour votre aide

Yanik

çà fonctionne super bien, merci.

Juste une correction à apporter:

Il y a un appel de fonction erroné:

calcul_balise_titre au lieu de calcul_balise_onglet dans découpe_fonctions.php.
Après correction, çà fonctionne bien:

- Titres avec #NOM_SITE
- #ONGLETS_DEBUT omis.

Yanik

Ah oui merci, c'est corrigé.
N'as-tu pas de compte SVN ?
Pat

Y.bourgeois a écrit :

Juste une correction à apporter:
Il y a un appel de fonction erroné:
calcul_balise_titre au lieu de calcul_balise_onglet dans découpe_fonctions.php.
Après correction, çà fonctionne bien:

- Titres avec #NOM_SITE
- #ONGLETS_DEBUT omis.

Yanik

Pat a écrit :

Ah oui merci, c'est corrigé.
N'as-tu pas de compte SVN ?
Pat

Bonjour à toutes et tous,
Non, je n'ai as de compte SVN, je ne suis pas très hardi,
et n'ai pas réussi à mettre en œuvre.
Mes capacités SPIP, PHP, Javascript ou autres dev web sont plus que limitées. Je connais un peu plus Delphi, ou plus ancien, Prolog (d'ou un peu de familiarité avec SPIP (gestion récursive avec les boucles)), donc un peu de prog, je peux repérer de petites anomalies mais pas plus hélas.

Bonne journée à vous

Yanik

Y.bourgeois a écrit :

Juste une correction à apporter:
Il y a un appel de fonction erroné:
calcul_balise_titre au lieu de calcul_balise_onglet dans découpe_fonctions.php.
Après correction, çà fonctionne bien:

- Titres avec #NOM_SITE
- #ONGLETS_DEBUT omis.

Yanik

Pat a écrit :

Oui, il s'agit d'un bug pour #NOM_SITE, je viens de le corriger.
J'ai également fait évoluer le code pour utiliser les onglets dans une boucle SPIP.

Il te faut mettre à jour le Couteau Suisse (version 1.8.06.01 disponible en zip vers 13h35).

Intitulé de la correction :
+ Onglets : bug résolu sur les balises en argument
+ Possibilité pour un onglet principal (non imbriqué) au sein d'une boucle, d'omettre #ONGLETS_DEBUT. Pratique quand on veut placer le résultat d'une boucle dans le titre des onglets.

Par exemple, le code :

    <B_sites>
    <BOUCLE_sites(SITES){syndication=oui}>
        [(#COMPTEUR_BOUCLE|=={1}|?{' '})#ONGLETS_DEBUT{#NOM_SITE}]
        [(#COMPTEUR_BOUCLE|>{1}|?{' '})#ONGLETS_TITRE{#NOM_SITE}]
        <BOUCLE_articles(SYNDIC_ARTICLES){id_syndic}{par date}{inverse}>
        &bull; #TITRE<br/>
        </BOUCLE_articles>
    </BOUCLE_sites>
    #ONGLETS_FIN
    </B_sites>

peut être simplifié en :
    > <B_sites>

    <BOUCLE_sites(SITES){syndication=oui}>
        #ONGLETS_TITRE{#NOM_SITE}
        <BOUCLE_articles(SYNDIC_ARTICLES){id_syndic}{par date}{inverse}>
        &bull; #TITRE<br/>
        </BOUCLE_articles>
    </BOUCLE_sites>
    #ONGLETS_FIN
    </B_sites>

Pat

Lorsque l'on englobe dans une autre boucle (GROUPE_MOTS => MOTS)
Seul le 1er bloc d'onglets est correct:

Dans le source HTML, on voit que le "onglets_bloc_initial" n'est pas réitéré.

En utilisant la solution "Compteur de boucle", c'est tip-top.
J'ai inclus des Blocs dépliables, çà tient encore.
Prochaine étape test:
- Groupes d'onglets imbriqués

Visible ici: http://aneg.free.fr/spip.php?page=site

En tout cas re-merci
- Pour ces outils;
- Pour votre aide

Yanik

Y.bourgeois a écrit :

Bonjour à toutes et tous,
Je cherche à faire un squelette affichant les sites syndiqués
sélectionnables par onglets du Couteau Suisse.
Je bute sur:
- Comment intégrer l'ONGLETS_DEBUT dans mes boucles ?
  j'ai mis "Liste Sites" en attendant.
- ONGLETS_TITRE{#NOM_SITE} m'affiche un onglet sans titre .

Mes boucles simplifiées:

<code>

<B_site_autres>
[(#ONGLETS_DEBUT{Liste Sites})]
      <BOUCLE_site_autres(SITES) {syndication=oui}{doublons}>
[(#ONGLETS_TITRE {#NOM_SITE})]
    <BOUCLE_articles_autres(SYNDIC_ARTICLES) {id_syndic} {par date}{inverse}{pagination}>

    </BOUCLE_articles_autres>

        </B_articles_autres>
#ONGLETS_FIN
</BOUCLE_site_autres>
    </B_site_autres>

</code>

Spip 1.9.2e

CS 1.8.05.04

Merci par avance pour votre aide

Yanik

Ah bon? quel est ton code ?
Pat

Y.bourgeois a écrit :

Lorsque l'on englobe dans une autre boucle (GROUPE_MOTS => MOTS)
Seul le 1er bloc d'onglets est correct:

Dans le source HTML, on voit que le "onglets_bloc_initial" n'est pas réitéré.

En utilisant la solution "Compteur de boucle", c'est tip-top.
J'ai inclus des Blocs dépliables, çà tient encore.
Prochaine étape test:
- Groupes d'onglets imbriqués

Ici : http://bachant.free.fr/?Squelette-Naalrost,705&onglet=3
un exemple bien débloc :wink:

Pat

Pat a écrit :

Ah bon? quel est ton code ?
Pat

Bonjour,

Voici le code:

<BOUCLE_groupesmots(GROUPES_MOTS){id_groupe=12}>
   <BOUCLE_mots(MOTS){id_groupe=12}{par id_mot}>
   <ul>
   <h1> #TITRE</h1> <br />
       <B_site_autres>
       <BOUCLE_site_autres(SITES){id_mot}{par nom_site} >
        #ONGLETS_TITRE{[NOM_SITE}}

           <B_articles_autres>
            #BLOC_TITRE Liste des articles de <b>#NOM_SITE</b>
            #BLOC_DEBUT
           <BOUCLE_articles_autres(SYNDIC_ARTICLES){id_syndic}{par date}{inverse}>

           </BOUCLE_articles_autres>
           #BLOC_FIN
           </B_articles_autres>
       </BOUCLE_site_autres>
       #ONGLETS_FIN
       </B_site_autres>
   <hr>
   </ul>
   </BOUCLE_mots>
</BOUCLE_groupesmots>

En remplaçant :
#ONGLETS_TITRE{#NOM_SITE}
par:
[(#COMPTEUR_BOUCLE|=={1}|?{' '})#ONGLETS_DEBUT{#NOM_SITE}]
[(#COMPTEUR_BOUCLE|>{1}|?{' '})#ONGLETS_TITRE{#NOM_SITE}]

çà fonctionne.

Pb de boucles plutôt, non?

Y.bourgeois a écrit :

Lorsque l'on englobe dans une autre boucle (GROUPE_MOTS => MOTS)
Seul le 1er bloc d'onglets est correct:

Dans le source HTML, on voit que le "onglets_bloc_initial" n'est pas réitéré.

En utilisant la solution "Compteur de boucle", c'est tip-top.
J'ai inclus des Blocs dépliables, çà tient encore.
Prochaine étape test:
- Groupes d'onglets imbriqués

Ici : http://bachant.free.fr/?Squelette-Naalrost,705&onglet=3
un exemple bien débloc :wink:

Pat