SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 236 visiteurs en ce moment

Accueil > Outils pour plugins > Le Couteau Suisse > Un sommaire pour vos articles

Un sommaire pour vos articles

12 août 2007 – par Patrice Vanneufville – 190 commentaires

34 votes

Une fonctionnalité du Couteau Suisse qui repère les intertitres des textes de vos articles ou de vos rubriques, et permet même plusieurs niveaux, puis en fabrique automatiquement un sommaire.

Introduction

Les articles de votre site sont parfois un peu longs et vous vous êtes probablement déjà posé la question de savoir comment insérer un sommaire au début d’un texte — à l’instar de cette page — histoire d’en faciliter la lecture et la navigation...

Voici notre solution : utilisez simplement dans vos articles le raccourci SPIP des intertitres ({{{Mon intertitre}}}). Le plugin va ensuite ajouter automatiquement un cadre de navigation en tête d’article en réunissant les différents intertitres affublés d’un lien cliquable vers le paragraphe concerné. Ce cadre peut ressembler à ceci :

GIF - 1.4 ko

En ce qui concerne les intertitres, une petite icône permet de revenir au sommaire. Cette ancre peut ressemble à ceci :

GIF - 692 octets

Pour obtenir ce résultat, il suffit simplement de taper ce qui suit dans votre article :

              {{{Conclusion}}}

              Quelques mots, pas plus !

Ce système vous offre donc un facile va-et-vient entre les paragraphes du texte et le sommaire.

Installation

Cet outil est une fonctionnalité du plugin « Le Couteau Suisse » que vous pouvez trouver ici : Le Couteau Suisse.

Pour avoir accès au sommaire automatique, il vous faut donc avoir installé ce plugin en suivant la procédure normale d’installation des plugins SPIP.

Ensuite, veuillez activer l’outil « Sommaire en début d’article » en vous rendant sur la page d’administration du plugin en espace privé (Bouton Configuration, et onglet "Le Couteau Suisse").

Dépendances

Les styles CSS du sommaire et des différents liens sont insérés grâce à la balise #INSERT_HEAD qui doit absolumet être présente (en un seul exemplaire) dans le header de vos squelettes (entre les balises <head> et </head> des fichiers HTML). Si vous ne trouvez pas cette balise dans vos codes et que le sommaire n’apparait pas avec l’apparence voulue, alors l’outil "Balise #INSERT_HEAD" du Couteau Suisse permet d’insérer automatiquement cette balise sans manipulation de votre part.

Configuration

Par défaut, le sommaire ne retient que les intertitres de premier niveau [1] : balises HTML <h3> ou raccourcis SPIP {{{...}}}. Or, il est possible de prendre en compte des niveaux supplémentaires en renseignant le paramètre "Profondeur retenue". Les balises <h4> ou <h5> pourront alors être insérées dans le sommaire. Si vous avez installé un plugin typographique afin d’éviter d’utiliser les balises HTML <hN> en dur, les intertitres de niveaux supérieurs peuvent se noter de différentes façons. Exemples : {2{...}2}, {{{**...}}}, {{{**...}}},etc.

Le Couteau Suisse a choisi de retenir nativement la syntaxe {{{**...}}} de mortimer. Ces nouveaux raccourcis (intertitres hiérarchisés, ou sous-titres) seront donc automatiquement traités, même en l’absence de plugin tiers :
-  Intertitre de niveau 1 : {{{Intertitre}}} ou {{{*Intertitre}}}
-  Intertitre de niveau 2 : {{{**Intertitre}}}
-  Intertitre de niveau 3 : {{{***Intertitre}}}
-  etc.

Exemple de sommaire ayant deux niveaux d’intertitres :

PNG - 4.6 ko

Par défaut, le sommaire est constitué des 30 premiers caractères de vos intertitres afin d’éviter tout débordement inesthétique de texte. Sur la page de configuration du plugin (Bouton Configuration, et onglet "Le Couteau Suisse"), vous pouvez modifier ce paramètre à votre guise. La fonction utilisée est simplement la fonction couper() de SPIP, qui ajoute des points de suite à la place du texte supprimé. Voici l’aperçu d’un sommaire où deux intertitres sont tronqués :

GIF - 1.4 ko

Vous pouvez également fixer le comportement du plugin concernant la création du sommaire :
-  Systématique pour chaque article. Cependant, une balise « [!sommaire] » placée n’importe où à l’intérieur du texte de l’article créera une exception afin de pouvoir bénéficier des intertitres sans qu’un sommaire ne soit créé dans un article en particulier. .
-  A l’inverse : uniquement pour les articles contenant la balise « 

 ».
Ces raccourcis, bien sûr, ne seront pas affichés à l’écran.

Changements d’aspect et surcharges

Pas de fond

Par défaut, le sommaire utilise une image de fond que vous pouvez voir ci-dessus. Un second aspect du sommaire est possible si vous insérez le raccourci « [!fond] » n’importe où dans le texte. Le sommaire aura donc un aspect similaire à cet exemple :

GIF - 1.2 ko

Les surcharges de fichiers

Techniquement, le plugin utilise :
-  un modèle SPIP : plugins/couteau_suisse/fonds/sommaire.html
-  une feuille de styles : plugins/couteau_suisse/outils/sommaire.css.html

Ces deux fichiers peuvent facilement être surchargés dans votre squelette en les recopiant dans :
-  mon_squelette/fonds/sommaire.html
-  mon_squelette/outils/sommaire.css.html

En étudiant les deux fichiers surchargeables cités ci-dessus, vous pourrez remarquer les différentes classes CSS. Il vous sera alors facile de paramétrer ces classes dans vos fichiers de squelette si par exemple vous souhaitez changer de couleur de fond, de marge ou de style de bordure...

Voici le code de sommaire.html :

  1. <div class="cs_sommaire cs_sommaire_[(#ENV*{fond_css})]_fond" id="outil_sommaire">
  2. <div class="cs_sommaire_inner">
  3. <div class="cs_sommaire_titre_[(#ENV*{fond_css})]_fond">&nbsp; <:couteau:sommaire_titre:> &nbsp;</div>
  4. <ul>
  5. [(#ENV*{sommaire})]
  6. </ul>
  7. </div>
  8. </div>

Télécharger

Si l’aspect du sommaire qui vous est proposé ici ne vous plait vraiment pas, alors faites une surcharge directement dans votre squelette en créant votre propre fichier "mon_squelette/fonds/sommaire.html". Le sommaire d’origine sera donc ignoré, au profit de votre propre sommaire. Cette façon de faire peut également s’appliquer au fichier des styles.

Si l’envie vous venait de changer simplement le titre du sommaire, alors changez simplement la chaîne de titre de votre fichier mon_squelette/fonds/sommaire.html. Un exemple qui bénéficie de toutes les traductions de SPIP :

[(#REM) "Navigation rapide" et toutes ses traductions ]
<div class="cs_sommaire_titre"><:icone_brouteur:></div>

Le sommaire est aujourd’hui dé/repliable et par défaut, le visiteur trouve un sommaire déplié (visible en totalité). Pour obtenir un sommaire replié lorsque le visiteur découvre la page pour la première fois (seul le titre apparaît), il suffit de surcharger le fichier fonds/sommaire.html en ajoutant les deux classes suivantes :
-  cs_sommaire_replie sur <div class="cs_sommaire_titre_[(#ENV*{fond_css})]_fond">
-  cs_sommaire_invisible sur <ul>

Ce qui donne :

  1. <div class="cs_sommaire cs_sommaire_[(#ENV*{fond_css})]_fond" id="outil_sommaire">
  2. <div class="cs_sommaire_inner">
  3. <div class="cs_sommaire_titre_[(#ENV*{fond_css})]_fond cs_sommaire_replie">&nbsp; <:couteau:sommaire_titre:> &nbsp;</div>
  4. <ul class="cs_sommaire_invisible">
  5. [(#ENV*{sommaire})]
  6. </ul>
  7. </div>
  8. </div>

Télécharger

Attention, le sommaire sera systématiquement replié lorsque le visiteur arrive sur la page pour la première fois. Mais s’il quitte la page le sommaire déplié, alors un cookie posé sur sa machine permettra de déplier le sommaire s’il revient sur la page... Euh, suis-je clair ?

Les liens de retour au sommaire

Lors de la construction du sommaire, le plugin ajoute par défaut à chaque intertitre de la page, un lien de retour au sommaire qui permet au lecteur de revenir facilement en haut de la page. Vous avez maintenant la possibilité (version récente du Couteau Suisse) de modifier ce comportement en surchargeant la fonction sommaire_lien_retour_dist($self, $titre) que vous pouvez trouver dans le fichier outils/sommaire_fonction.php.

Pour cela, il vous faut placer une nouvelle fonction sommaire_lien_retour($self, $titre) dans votre fichier config/mes_options.php que le compilateur utilisera à la place de la précédente. Par exemple, si vous ne voulez pas des liens de retour au sommaire dans les intertitres, utilisez le code suivant :

  1. function sommaire_lien_retour($self, $titre) {
  2. return $titre;
  3. }

Télécharger

A titre d’info, voici le code actuel de la fonction utilisée par défaut :

  1. function sommaire_lien_retour_dist($self, $titre) {
  2. static $haut = NULL;
  3. if(!isset($haut))
  4. $haut = '<a title="'._T('couteau:sommaire_titre')
  5. .'" href="'.$self.'#outil_sommaire" class="sommaire_ancre">&nbsp;</a>';
  6. return $haut . $titre;
  7. }

Télécharger

Le calcul des ancres

Lors de la construction du sommaire, le plugin calcule automatiquement les ancres de chaque intertitre par incrémentation : outil_sommaire_XX. Vous avez maintenant la possibilité (version récente du Couteau Suisse) de modifier ce comportement en surchargeant la fonction sommaire_id_ancre_dist($index, &$titre, $hn) que vous pouvez trouver dans le fichier outils/sommaire_fonction.php.

A l’instar des liens au paragraphe précédent, il vous faut pour cela placer une nouvelle fonction sommaire_id_ancre($index, &$titre, $hn) dans votre fichier config/mes_options.php que le compilateur utilisera à la place de la précédente.

Si vous souhaitez de belles ancres en approfondissant la compatibilité avec le format proposé ici par mortimer, configurez votre outil pour utiliser de "jolies ancres" dans le sommaire. Le calcul des ancres n’est alors plus surchargeable et le plugin utilisera la fonction suivante (compatible avec les intertitres en image) :

  1. function sommaire_id_ancre_ex($index, &$titre, $hn) {
  2. // traiter le format {{{Mon titre<mon_ancre>}}} (ou alt='Mon titre&lt;mon_ancre&gt;')
  3. if(preg_match(',<(\w+)>$,', $titre, $r)
  4. || preg_match(',&lt;(\w+)&gt;(?=\'),', $titre, $r)) {
  5. $titre = str_replace($r[0], '', $titre);
  6. return $r[1];
  7. }
  8. $a = strtolower(translitteration(sommaire_nettoyer_titre($titre)));
  9. $a = trim(preg_replace(',[^a-z0-9_]+,', '_', $a), '_');
  10. return strlen($a)>2?$a:"sommaire_$index";
  11. }

Télécharger

A titre d’info, voici le code actuel de la fonction utilisée par défaut :

  1. function sommaire_id_ancre_dist($index, &$titre, $hn) {
  2. return 'outil_sommaire_' . $index;
  3. }

Télécharger

Notez que la variable $titre (intertitre en cours) est passée en référence, ce qui permet de la modifier le cas échéant. $index est incrémenté à chaque appel de la fonction. $hn est le rang (le "N" tiré de la balise HTML <hN>) de l’intertitre en cours. Si vous activez l’outil "Intertitres en images" il est fort probable que $titre soit une balise image (<img ... />) et non un texte...

Les éléments du sommaire

Lors de la construction du sommaire, le plugin cherche pour chaque élément, une fonction sommaire_id_page($element, $page) permettant certaines personnalisations, notamment en cas de découpe en pages. Le paramètre $element est le lien cliquable mis en forme pour accéder au paragraphe correspondant, et le paramètre $page est le numéro de l’extrait découpé. Par défaut, le plugin ajoute ce numéro dans le libellé de chaque lien, par exemple : « Introduction, p1 » , « Conclusion, p2 ».

Pour changer ce comportement d’origine, et à l’instar des ancres au paragraphe précédent, il vous faut pour cela placer la fonction sommaire_id_page($element, $page) dans votre fichier config/mes_options.php que le compilateur utilisera à la place de la fonction native sommaire_id_page_dist.

Voici un exemple de fonction qui supprime ici toute référence aux pages découpées :

  1. function sommaire_id_page($element, $page) {
  2. return $element;
  3. }

Télécharger

A titre d’info, voici le code actuel de la fonction utilisée par défaut :

  1. function sommaire_id_page_dist($element, $page) {
  2. return $page ? $element
  3. . _T('couteau:sommaire_page', array('page'=>$page))
  4. : $element;
  5. }

Télécharger

Balise #CS_SOMMAIRE

Par défaut, le Couteau Suisse insère le sommaire en tête d’article automatiquement. Mais vous avez la possibilité de placer le sommaire ailleurs dans votre squelette qu’en tête de votre article grâce à une balise #CS_SOMMAIRE. Attention : l’utilisation de cette balise doit être activée dans la page de configuration de l’outil « Sommaire automatique » et annule ainsi l’insertion automatique du sommaire dans vos articles.

Cette balise renvoie le sommaire seul quand il existe, et se comporte un peu comme la balise #TEXTE : elle doit être placée à l’intérieur d’une boucle ARTICLES. Depuis la version 1.8.36.00 du Couteau Suisse, la balise #CS_SOMMAIRE accepte un paramètre numérique permettant d’accéder directement à un article par son id_article (grâce à un appel SQL), évitant ainsi une boucle dédiée.

Exemples : #CS_SOMMAIRE{2}, #CS_SOMMAIRE{#GET{toto}} ou #CS_SOMMAIRE{#ENV{id_article}}.

Attention, ce raccourci ne doit pas être utilisé à l’intérieur d’une boucle du même article, sous peine d’un appel SQL inutile. Exemple évident à éviter :
<BOUCLE01(ARTICLES)>#CS_SOMMAIRE{#ID_ARTICLE}</BOUCLE01>
Vous l’avez compris, la syntaxe correcte est bien sûr :
<BOUCLE01(ARTICLES)>#CS_SOMMAIRE</BOUCLE01>

Depuis la version 1.8.154 du Couteau Suisse, le filtre |sommaire_url{nouvelle_URL} vous permet de remplacer l’URL par défaut du sommaire (celle de la page courante en fait) par celle de votre choix. Ce filtre vous sera indispensable lorsque la balise #CS_SOMMAIRE n’est pas utilisée sur la page de l’article correspondant.

L’exemple suivant retourne une liste de sommaires d’articles pointant correctement vers les intertitres repérés dans chacun des articles :
<BOUCLE01(ARTICLES)>[(#CS_SOMMAIRE|sommaire_url{#URL_ARTICLE})]</BOUCLE01>

Voici deux exemples rendant le même résultat (le premier cependant fait un appel SQL supplémentaire) :
-  [(#CS_SOMMAIRE{2}|sommaire_url{#URL_ARTICLE{2}})]
-  <BOUCLE01(ARTICLES){id_article=2}>[(#CS_SOMMAIRE|sommaire_url{#URL_ARTICLE})]</BOUCLE01>

Notes techniques et astuces

-  Techniquement parlant, cet outil agit sur toutes les balises #TEXTE trouvées dans vos squelettes et insère un sommaire. Vous pouvez donc insérer des intertitres dans vos articles, vos textes de rubrique, etc.

-  Une condition est cependant nécessaire : l’insertion automatique du sommaire ne fonctionnera pas si votre squelette (en fait, l’ensemble de vos fichiers .html) utilise la balise #TEXTE étoilée (« #TEXTE* »). En effet, cette syntaxe permet de s’affranchir de tous les filtres automatiques et SPIP renvoie donc le texte brut sans aucune transformation. Si vous tenez absolument à l’étoile pour ajouter un de vos filtres par exemple, alors il faut écrire dans une boucle ARTICLES : [(#TEXTE*|mon_filtre|cs_traitements{TEXTE,articles})] à la place de [(#TEXTE)]. Explication : l’étoile de la balise empêche tout traitement SPIP et renvoie le texte brut stocké en base de données, le filtre |mon_filtre est votre fonction perso écrite dans le fichier mes_fonctions.php, puis le filtre |cs_traitement du Couteau Suisse rétablit les traitements originaux de SPIP correspondant à la balise #TEXTE et aux objets articles.

-  Si une balise n’est pas couverte par le traitement du sommaire automatique, alors utilisez le filtre |sommaire_d_article.
Exemple : [(#MA_BALISE|sommaire_d_article)].
Cette méthode est également applicable à une inclusion.
Exemple : [(#INCLURE{fond=mon-fond, id_article, env}|sommaire_d_article)]
Notez que si la balise #CS_SOMMAIRE est active, le sommaire n’est pas inséré automatiquement au texte examiné. Veuillez consulter le paragraphe suivant pour le paramétrage du filtre.

-  Paramétrage du filtre |sommaire_d_article (depuis la révision 61832 du Couteau Suisse) :
Un texte + son sommaire inséré si la balise #CS_SOMMAIRE est inactive :
   [(#UNTEXTE|sommaire_d_article)]
Un texte + son sommaire inséré quel que soit l’état de la balise #CS_SOMMAIRE :
   [(#UNTEXTE|sommaire_d_article{0})]
Le sommaire seul, calculé grâce au modèle fonds/sommaire.html :
   [(#UNTEXTE|sommaire_d_article{1})]
Le sommaire seul, sous forme de liste <li></li> :
   [(#UNTEXTE|sommaire_d_article{2})]

-  Comment faire pour éviter le sommaire automatique quelque part dans mon squelette ? Prenons par exemple la balise #TEXTE de la boucle (ARTICLES). Le code à utiliser est : [(#TEXTE*|concat{#EVAL{_CS_SANS_SOMMAIRE}}|cs_traitements{TEXTE,articles})]. Explication : l’étoile de la balise empêche tout traitement SPIP et renvoie le texte brut stocké en base de donnée, le filtre |concat ajoute au texte brut [!sommaire] pour empêcher la création future d’un sommaire, puis le filtre |cs_traitement du Couteau Suisse rétablit les traitements originaux de SPIP correspondant à la balise #TEXTE et aux objets articles. Si vous préférez restreindre le sommaire automatique à certaines rubriques, utilisez par exemple le test suivant : [(#ID_RUBRIQUE|match{'^(3|4|5)$'}|oui) placez votre balise #TEXTE étoilée et filtrée ici]

Correctif :  : Depuis la révision 43782 du Couteau Suisse, la notation précédente est caduque. Ceci :
[(#TEXTE*|concat{#EVAL{_CS_SANS_SOMMAIRE}}|cs_traitements{TEXTE,articles})]
doit être remplacé par cela :
[(#TEXTE*|cs_traitements{TEXTE,articles,sommaire_d_article})]

-  Afin d’éviter que les raccourcis « [!sommaire] » ou « [!fond] » se retrouvent automatiquement dans les résumés produits par la balise #INTRODUCTION, activez aussi l’outil « Balise #INTRODUCTION ».

-  En manipulant les styles css ou en utilisant jQuery, Il vous est possible de manipuler l’aspect du sommaire. Le cadre est en fait un <div id="outil_sommaire" class="cs_sommaire" >.

-  Le cadre du sommaire est livré par défaut avec une marge à gauche (1em) et une marge à droite (0.4em). Si la marge à droite ne vous est pas nécessaire, alors ajoutez le code suivant au fichier css de votre squelette : .cs_sommaire {margin-right:0pt !important;}. Si vous préférez mettre ce cadre en haut à gauche de votre article au lieu de l’avoir à droite, alors ajoutez ce code : .cs_sommaire {float:left !important;}.

-  Pour fixer la largeur et éviter les retours à la ligne : .cs_sommaire { width:10em; white-space:nowrap; }. Pour une hauteur fixe : div.cs_sommaire { height:16em; }. Etc, etc !

-  Cet outil « Sommaire en début d’article » se marie très bien avec l’utilisation d’un outil voisin : « Découpe un texte en pages et/ou onglets ». Si ce dernier est activé, le sommaire détecte en effet les découpages et ajoute le numéro de la page où les différents intertitres SPIP ont été trouvés. Voici l’exemple d’un article sur deux pages :

GIF - 1.6 ko

-  Si vous activez l’outil « Des blocs dépliables » et que vous définissez "h3" comme balise de titre, alors il est possible que le sommaire automatique prenne en compte les titres de vos blocs dépliables. Pour que ce ne soit pas le cas, configurez cet outil en spécifiant une valeur haute, exclue par le niveau de profondeur des intertitres. Exemple : h6.

Notes

[1Et s’il n’y a qu’un seul titre, pas besoin de sommaire, qui n’est donc pas affiché !

Dernière modification de cette page le 15 mai 2015

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 26 février 2015 à 16:29, par Thiébaut En réponse à : Un sommaire pour vos articles

    Bonjour et merci pour cette fonction indispensable du CS.

    Ma question concerne une adaptation du système d’ancres avec une barre fixe de navigation, afin que le titre visé par l’ancre s’affiche sous cette barre fixe et non tout en haut.

    En effet, actuellement, quand on clique sur le sommaire, le titre se retrouve au top, c’est à dire juste derrière cette barre de navigation fixe. En appliquant par exemple un

    padding-top: 100px;

    au titre, cela fonctionne... mais le padding est visible.

    Pour que le padding soit invisible, il suffirait que le « id » de l’ancre soit plutôt dans un <a id="mon ancre" class="ancre"></a> placé à l’intérieur du h3, juste avant le <a> de retour au sommaire. C’est du moins ce que j’ai fait avec les autres ancres du site, en créant une classe CSS dédiée.

    Il suffirait donc que j’ajoute une fonction pour créer cette ancre . Mais je n’y connais rien en php. Si c’est faisable, merci de me donner une piste !

    • Le 27 février 2015 à 03:26, par Patrice Vanneufville En réponse à : Un sommaire pour vos articles

      Bonjour.
      Sans doute faut-il écrire une function sommaire_lien_retour($self, $titre) personnalisée alors ? La doc donne quelques explications...

    • Le 27 février 2015 à 10:57, par Thiébaut En réponse à : Un sommaire pour vos articles

      Oui, j’ai tâtonné, mais le php... j’y connais rien. En fait j’avais presque réussi mais je n’arrivais pas à passer la variable $index, qui d’après ce que j’ai compris donne le numéro de l’ancre.

      Quand bien même j’aurai réussi, le sommaire ne détecte le titre qu’avec cet id. Or un id doit être unique... Donc coincé. Du moins il me semble non ?

      Heureusement, j’ai trouvé cette merveilleuse combine en css, qui résout le problème.

      1. [id^="outil_sommaire_"] {
      2. margin-bottom: -30px;
      3. padding-top: 50px;
      4. position: relative;
      5. top: -50px;
      6. }

      Télécharger

      Le « ^ » sert en quelques sortes à transformer le id en sélecteur « class » : tous les id qui commencent par id=« outil_sommaire » seront concerné par le règle.

      Quant à cette règle, c’est « trois pas en avant en padding, trois pas en arrière avec un top, et en enfin une petite correction de margin-bottom »... mais ça fonctionne ! ;-)

    Répondre à ce message

  • Le 23 décembre 2014 à 20:13, par sirom En réponse à : Un sommaire pour vos articles

    Bonjour, je cite :

    - Cet outil « Sommaire en début d’article » se marie très bien avec l’utilisation d’un outil voisin : « Découpe un texte en pages et/ou onglets ». Si ce dernier est activé, le sommaire détecte en effet les découpages et ajoute le numéro de la page où les différents intertitres SPIP ont été trouvés. (...)

    Cela fonctionne merveilleusement bien, seul hic le sommaire affiche des ".p1" , ".p2" ...etc
    après chaque titre et j’aimerais les enlever , comment est-ce réalisable ?

    Cordialement.

    Répondre à ce message

  • Le 6 août 2014 à 18:06, par Christophe Noisette En réponse à : Un sommaire pour vos articles

    Bonjour
    je ne comprends pas pourquoi le raccourcis typo {{{....}}} renvoie sur un style de type <H3>. Il serait plus logique et plus google comptabile d’avoir un <H2>pour le premier niveau des inter, étant donné que le <H1> est prévu pour le titre de l’article. J’ai essayé de modifier le fichier couteau_suisse/outils/sommaire.php de la sorte

    if(!isset($GLOBALS['debut_intertitre'])) $GLOBALS['debut_intertitre'] = '<h2 class="spip">';
                    if(!isset($GLOBALS['fin_intertitre'])) $GLOBALS['fin_intertitre'] = '</h2>';

    mais ça n’a rien changé.
    Merci de m’expliquer si possible la logique derrière ce H3... et éventuellement comment le modifier.
    Cordialement
    Christophe

    Répondre à ce message

  • Le 4 avril 2014 à 00:45, par Thomas En réponse à : Un sommaire pour vos articles

    Bonjour,
    (Un retour...)

    Sous Spip 3.0.13 j’utilise le couteau-suisse et sa lame sommaire auto. Tout fonctionne parfaitement avec #CS_SOMMAIRE dans les squelettes. Sauf que cela ne marche plus dans le cas d’un squelette d’article de surcharge des articles d’une rubrique, type ’article-XX.html’
    Dans ce squelette, les titres (h3) sont mis directement et ne proviennent donc pas du texte de l’article surchargé (qui est vide).
    J’ai essayé différentes choses pour résoudre le problème mais en vain... que faudrait-il donc faire pour que les titres soient reconnus et que le sommaire se monte ?

    Merci beaucoup
    T

    Répondre à ce message

  • Le 25 février 2014 à 09:14, par zazie En réponse à : Un sommaire pour vos articles

    Bonjour,

    dans une rubrique, je souhaite afficher aussi les sommaires des articles de la rubrique. Cela fonctionne bien avec la balise #CS_SOMMAIRE mais par contre les liens générés restent sur la page :

    monsite.com/spip.php ?rubriqueXX#mon_ancre_A

    alors que bien sur je souhaite qu’elle dirige vers l’article en question :
    monsite.com/spip.php ?articleXX#mon_ancre_A

    J’ai regardé du côté des fonds et outils du plugin mais je ne vois pas ce que je pourrais faire...
    et bien sûr, je ne souhaite pas modifier le comportement « normal » du sommaire dans mes articles ...

    Merci pour votre aide !

    • Le 25 février 2014 à 17:01, par Patrice Vanneufville En réponse à : Un sommaire pour vos articles

      Bonjour,

      Tu as tout à fait raison ! Les liens du sommaire sont toujours ceux de la page courante, et c’est en effet gênant lorsque la balise #CS_SOMMAIRE n’est pas utilisée sur la page de l’article lui-même.

      Je viens d’ajouter un nouveau filtre au plugin pour rattraper ce mauvais comportement. J’ai mis à jour la doc, regarde le paragraphe ci-dessus.

      Tu nous diras si cette réponse te convient.

    • Le 26 février 2014 à 07:07, par zazie En réponse à : Un sommaire pour vos articles

      merci beaucoup pour cette mise à jour !
      cela marche impeccablement. Et c’est bien pratique ;)

    Répondre à ce message

  • Le 9 février 2013 à 15:14, par ordilibre En réponse à : Un sommaire pour vos articles

    Bonjour,

    En passant de spip2 à 3, j’observe que la lame sommaire auto ne fonctionne plus.
    D’autres rencontrent ils se problème ?

    SPIP 3.0.5 [19905]

    • Le 10 février 2013 à 01:05, par Patrice Vanneufville En réponse à : Un sommaire pour vos articles

      Bonjour, cette lame a pourtant été testée avec succès sous SPIP 3.
      Un autre facteur bloquant peut-être ?

    • Le 11 février 2013 à 15:49, par ordilibre En réponse à : Un sommaire pour vos articles

      Merci de l’attention. Oui c’est cela. Le plugin Associaspip pose problème car :

      La désactivation du plugin « Associaspip » (version : 2.1.0) s’est correctement déroulée

      Dès sa désactivation, la lame fonctionne de nouveau.

      Que faire dans ce cas ?

    • Le 11 février 2013 à 20:30, par Pat En réponse à : Un sommaire pour vos articles

      Ah, il faudrait faire un débogage, car je ne connais pas ce plugin ...

    • Le 7 mai 2013 à 09:55, par Fennec72 En réponse à : Un sommaire pour vos articles

      Bonjour,

      je constate le même problème, mais pas avec un site utilisant le plugin associaspip.
      c’est un site spip 3.0.8, utilisant un thème zpip

    • Le 17 mai 2013 à 16:52, par Fennec72 En réponse à : Un sommaire pour vos articles

      Suite de mon message précédent :
      tout rentre dans l’ordre, une une fois la réécriture d’URL activée.

      Et cela, pour la lame « Un sommaire pour vos articles » ou pour la lame « glossaire »

    Répondre à ce message

  • Le 18 septembre 2012 à 12:00, par MasterJuh En réponse à : Un sommaire pour vos articles

    Bonjour,
    Je reposte ici un commentaire ouvert sur la page générale du couteau suisse, qui n’était peut-être pas le meilleur endroit :

    J’ai traqué un bug qui surgit de l’alliance entre la lame « sommaire automatique » et le plugin « enluminures typographiques v3 ».
    Le détail :
    1. j’ai installé un spip3.0.4 tout neuf.
    2. je crée une rubrique, un article et j’y inclus une phrase suivie d’une photo avec son titre en utilisant le lien .
    3. je regarde mon article sur le site publique : pas de problème.
    4. J’installe le couteau suisse (1.8.98) avec la procédure automatique, et j’active uniquement la lame « sommaire automatique ».
    5. j’installe le plugin « enluminures typographiques v3 » (3.3.1)
    6. après avoir rafraichi la page des plugins, du couteau suisse, et vidé le cache, je retourne sur l’article en ligne. C’est alors que deux paragraphes ont été ajouté intempestivement autour de mon document :
    -  Un avant le document :

    <p>
    <br class="autobr">
    </p>

    -  Un après le document :
    <p></p>

    Auriez-vous une idée de comment corriger cela svp ?

    Répondre à ce message

  • Le 29 mai 2012 à 17:29, par Thomas En réponse à : Un sommaire pour vos articles

    Re-bonjour,
    je reviens par ici (on ne s’en lasse pas) car je cherche cette fois à faire reconnaitre par le sommaire les balises (h3, idem à celles dans le texte) du Portfiolio et des Pièces jointes, que j’ajoute à la suite des articles par un :
    [(#INCLURE{fond=inc-documents}{id_article}{env})] (pas loin du #CS_SOMMAIRE d’ailleurs)

    J’ai essayé d’insérer le |sommaire_d_article... Cela marche en partie avec :
    [(#INCLURE{fond=inc-documents}{id_article}{env}|sommaire_d_article)]
    Là en effet les liens « retours sommaire » sont ajoutés aux titres mais les titres ne sont pas inclus dans le sommaire..
    Je sèche... une idée ?
    Merci... merci...

    • Le 30 mai 2012 à 01:24, par Patrice Vanneufville En réponse à : Un sommaire pour vos articles

      Pourtant le sommaire du Couteau Suisse détecte bien les balises <h3>...

      Il me semble que l’activation de la balise #CS_SOMMAIRE bloque toute insertion automatique du sommaire : voila pourquoi le filtre renvoie le texte sans son sommaire...

      Je viens de corriger le plugin pour forcer cette insertion grâce au paramètre {0} :

         [(#INCLURE{fond=inc-documents, id_article, env}|sommaire_d_article{0})]

      Plus d’infos : http://zone.spip.org/trac/spip-zone...

    • Le 30 mai 2012 à 02:07, par Thomas En réponse à : Un sommaire pour vos articles

      Merci de cette belle réponse mais, ah, ba.. veut pas..
      j’ai fait la mise à jour (révision 61830-30 mai 2012), ouvert le couteau et enregistré les modifs, inséré le
      [(#INCLURE{fond=inc-documents, id_article, env}|sommaire_d_article{0})],
      puis vidé les caches...Re-calcul de la page...
      et pas de titres en plus dans le sommaire... (les titres ont leur liens vers le sommaire, comme précédemment)..
      zut..

    • Le 30 mai 2012 à 02:11, par Patrice Vanneufville En réponse à : Un sommaire pour vos articles

      Il faut la révision 61831 ;-) Est-ce OK à présent ?

    • Le 30 mai 2012 à 02:22, par Thomas En réponse à : Un sommaire pour vos articles

      Alors.. voui, dans un sens c’est bon.
      C’est à dire que cela crée un second sommaire dédié, juste avec les deux titres (et avec la liste-articles-freres), situé au niveau du Portfolio en bas de page..
      Donc ça marche mais pas exactement comme il faudrait.. un espoir ?

    • Le 30 mai 2012 à 02:25, par Patrice Vanneufville En réponse à : Un sommaire pour vos articles

      Ah bah je croyais qu’avec le code que tu as proposé, c’était ce que tu voulais... Tu veux un seul sommaire grâce à la balise #CS_SOMMAIRE avec des liens en plus c’est ça ?

      Si oui, alors c’est une surcharge du fond/sommaire.html qu’il faut faire, non ?

    • Le 30 mai 2012 à 02:34, par Patrice Vanneufville En réponse à : Un sommaire pour vos articles

      ou alors carrément le code suivant, en rendant active la balise #CS_SOMMAIRE ?

      [(#TEXTE|concat{#INCLURE{blabla}}|sommaire_d_article{1})]

    • Le 30 mai 2012 à 03:01, par Thomas En réponse à : Un sommaire pour vos articles

      Oui, oui, désolé de ne pas avoir été clair.. en effet je cherche à n’avoir pour l’article qu’un seul sommaire qui intègrerait tous les titres et sous-titres de la page y compris Portfolio et Docs joints (s’ils existent dans la page)...
      Le fait de pouvoir ajouter des sommaires supplémentaires est intéressant mais là, c’est un sommaire unique que je souhaite..

      Alors [(#TEXTE|concat{#INCLURE{blabla}}|sommaire_d_article{1})]
      donne effectivement un sommaire complet, comme je veux, mais il est toujours supplémentaire au sommaire initial (j’ai donc deux sommaires, un en haut -incomplet- et un en bas -complet-)

      Je pense que la solution comme tu le dis, serait de compléter le fond/sommaire.html... en ajoutant des li, genre, si je comprends bien :

      <ul>
      [(#ENV*{sommaire})]
      <li>
      id_<objet> => Portfolio (s'il existe)
      </li>
      <li>
      id_<objet> => Documents joints (s'il existe)
      </li>
      </ul>

      Qu’en penses-tu ?
      Mais je ne sais si le Portfolio ou les Docs joints sont désignables par des id_objet...

    • Le 30 mai 2012 à 03:14, par Thomas En réponse à : Un sommaire pour vos articles

      J’ai eu l’idée (sans doute benête) d’ajouter des <mon_ancre> aux h3 des Portolio et DocsJoints dans inc-documents.html... mais ça ne marche pas non plus.

    • Le 30 mai 2012 à 03:26, par Patrice Vanneufville En réponse à : Un sommaire pour vos articles

      Justement, il faut activer la balise #CS_SOMMAIRE pour éviter l’insertion du sommaire automatique dans le texte, mais ne pas l’utiliser (cette balise simplifie le traitement sur une article simple). Il te faut à la place, appeler le filtre INCLURE{blabla}|sommaire_d_article{1} une seule fois sur le texte total à examiner. Ce texte total (un inclure est le mieux pour le conternir en entier) pourrait intégrer le texte de l’article suivi du portefolio.

      Pour la solution alternative (surcharge du fond) il faudrait une option supplémentaire pour extraire la liste de sommaire seule : INCLURE{portefolio}|sommaire_d_article{2}.

      Voici la révision 61832 : http://zone.spip.org/trac/spip-zone...

      Tiens, au niveau des ancres, ça risque de buguer, non ? sauf en cas d’ancres « jolies » peut-être...

      Pour les id_objet dont tu parles, c’est tout flou pour moi !

    • Le 30 mai 2012 à 04:05, par Thomas En réponse à : Un sommaire pour vos articles

      Je crois que je comprends ce que tu veux dire : virer la balise #CS_SOMMAIRE et à la place ajouter simplement le filtre |sommaire_d_article{1} à #TEXTE...
      Je vais essayer ça mais je n’obtiens toujours que la version 61831...

      Pour la soluce alternative, je crois comprendre mais.. ce n’est pas ferme..
      Avec les ancres, pas de bug, non, juste.. rien quoi.

    • Le 30 mai 2012 à 04:18, par Patrice Vanneufville En réponse à : Un sommaire pour vos articles

      Pour les mises à jour, soit tu les fais à la main, soit tu attends le prochain zip fabriqué toutes les heures pile je crois ! Donc now c’est bon...

    • Le 30 mai 2012 à 10:21, par Thomas En réponse à : Un sommaire pour vos articles

      Aaah.. ça se passe à chaque changement d’heure..! d’accord, c’est bon à savoir..

      Donc c’est mis à jour mais cela ne marche pas vraiment. En fait ça met le bazar, même.
      J’ai donc supprimé CS_SOMMAIRE et ajouté le filtre à l’inclusion du texte de l’article :
      [<div class="#EDIT{texte} corptexte">(#TEXTE||sommaire_d_article{1})</div>]
      J’obtiens un sommaire sans les titres voulus (comme avant) et surtout, le texte de l’article est supprimé, c’est à dire que tout ce qui dépend de #TEXTE ne s’affiche plus.

      Je vais creuser tout ça, c’est peut-être une question de syntaxe, ou d’inclusions : dans mon cas en effet l’affichage de l’article, fait appel à article.html qui fait appel à un article-corps.html où est construit l’article (c’est là que se trouve les balises #TEXTE (ci dessus) et également le #INCLUREfond=inc-documents...

    • Le 30 mai 2012 à 11:08, par Patrice Vanneufville En réponse à : Un sommaire pour vos articles

      Attention : pas de double pipe.

      Donc résumons, 2 pistes a priori sans forcément de surcharge de fond :

       

      1. inclusion normale, balise #CS_SOMMAIRE désactivée :
      [(#INCLURE{fond=article-corps}|sommaire_d_article)]

       

      2. inclusion avec sommaire déporté, balise #CS_SOMMAIRE activée :
      Pour le sommaire seul dans article.html :
      [(#INCLURE{fond=article-corps}|sommaire_d_article{1})]
      Pour le corps du texte proprement dit, sans sommaire du coup :
      [(#INCLURE{fond=article-corps}|sommaire_d_article)]

    • Le 30 mai 2012 à 15:47, par Thomas En réponse à : Un sommaire pour vos articles

      Donc moi je reste sur la première piste, mais l’inclusion dans ’article.html’ du #INCLURE ne donne pas le résultat escompté :
      (#CS_SOMMAIRE viré d’article_corps)

      [(#INCLURE{fond=article-corps}|sommaire_d_article)]
      ne charge pas le article_corps,

      [(#INCLURE{fond=article_corps}|sommaire_d_article{id_article}{lang})]
      ne charge pas le article_corps,

      [(#INCLURE{fond=article_corps}{id_article}{lang}|sommaire_d_article)]
      article_corps chargé mais pas de sommaire et liens de retour sommaire des titres en double (sauf pour Portfolio et Docsjoints)...

      Je ne sais pas, peut-être serait-il mieux que je t’envoie par mail les codes des fichiers concernés (histoire de ne pas trop encombrer cet espace de commentaires) ?

    • Le 30 mai 2012 à 16:42, par Patrice Vanneufville En réponse à : Un sommaire pour vos articles

      Attention, l’expression |sommaire_d_article{id_article} est fausse.
      Le paramètre ne peut être que : ignoré, 0, 1 ou 2 (en fonction de la forme voulue en retour).

      Ensuite, je me doute qu’il faille passer l’environnement à article_corps.html, et surtout id_article, sans quoi la boucle (ARTICLES) sera bien incapable de savoir quel article rendre.

      J’en reviens à ce que j’ai déjà dit : le sommaire n’est ajouté automatiquement au texte examiné que si la balise #CS_SOMMAIRE est désactivée.

      La solution n’est pas loin, sans doute la piste 1 en effet. Peut-être faut-il également désactiver la « Création systématique du sommaire » dans la config de l’outil, afin d’éviter les doubles liens de retour sommaire des tites. Mais pour avoir le sommaire quand même, il faut du coup ajouter en clair l’indicateur « [sommaire] » dans article.html pour que le plugin détecte le calcul du sommaire à effectuer sur la totalité de article_corps.html.

      J’espère être clair ! OK pour passer en privé.
      Je te laisse exposer ici la solution finale et fonctionnelle pour nos lecteurs ;-)

    • Le 31 mai 2012 à 15:52, par Thomas En réponse à : Un sommaire pour vos articles

      Je reproduis ici la teneur du mail que je t’ai envoyé car je ne suis pas sûr que tu l’ai reçu :

      -  J’ai donc désactivé la balise #CS_SOMMAIRE et décoché la « création systematique du sommaire » sur la page de config du couteau suisse.

      -  article.html :
      [(#INCLURE{fond=article_corps}{id_article}{lang}|sommaire_d_article)]

      -  article_corps.html :
      [sommaire] -> à la place qu’occupait l’ancienne #CS_SOMMAIRE.

      => Tout est maintenant bien là dans l’article, le sommaire est complet, les titres n’ont bien qu’un lien, le texte de l’article est OK.
      MAIS, le sommaire est placé en premier, en tête de page et avant tout autre élément de la page. Même s’il reste positionné à droite, il n’a plus un comportement « float » (tout est repoussé sous lui).

      J’en suis là, je cherche un moyen de ramener le sommaire à un positionnement choisi (évidemment le résultat est le même où que l’on mette [sommaire] dans la hiérarchie des éléments de article_corps.html).

      Tu peux me répondre par mail si tu as reçu celui que j’ai envoyé via l’interface du site, comme ça je pourrai t’envoyer éventuellement les fichiers en cause..
      Merci encore..

    • Le 1er juin 2012 à 01:54, par Pat En réponse à : Un sommaire pour vos articles

      Euh non, je n’ai pas vu passer de mail privé... Pour le placement du sommaire, il faut voir au niveau des <div/> comment trouver le meilleur moyen de les répartir entre article.html et article_corps.html... Pas facile en effet ;-) Une idée peut-être tordue, mais pourquoi pas un <div> ouvrant dans article.html et un </div> fermant dans article_corps.html, histoire d’inclure le sommaire dans le bloc encadrant l’article ?

      A priori, le plugin place bien le sommaire automatique en tête du texte examiné.

    • Le 1er juin 2012 à 16:56, par Thomas En réponse à : Un sommaire pour vos articles

      Bon, ok ça marche !

      donc je récapitule :
      -  désactivation de la balise #CS_SOMMAIRE et de la « création systematique du sommaire » sur la page de config du couteau suisse.

      -  [Dans mon cas :] -> article.html :
      [(#INCLURE{fond=article_corps}{id_article}{lang}|sommaire_d_article)]

      -  article_corps.html :
      [sommaire] -> à la place qu’occupait l’ancienne #CS_SOMMAIRE.

      -  > Là on a donc la page article normale avec le sommaire ok, sauf qu’il se trouve seul, tout en haut de la page.

      => Copie dans article.html avant l’inclusion de article_corps, de la/les div qui doivent se trouver au-dessus du sommaire. (perso j’ai même un début de div dans ’article’ et sa fin dans ’article_corps’ .

      On tire ici parti du montage des pages à partir de plusieurs fichiers... En effet, avoir deux fichiers ’article’ et ’article_corps’ pour le montage des pages d’article n’étaient pas vraiment justifié pour moi jusqu’ici (autant tout regrouper en un fichier) mais j’ai bien fait de laisser en état cette fragmentation....

      Donc c’est au poil et je te remercie vraiment de ton aide (+ des modifs du plugin).

      Cela me fait maintenant songer au fait que (tu dis si je saoule, hein...) ce serait chouette de pouvoir appeler dans [sommaire] des modèles de sommaires différents.... Genre avec [sommaire1] on aurait un sommaire monté avec le modèle 1 (par exemple sans articles-freres), avec [sommaire2] on aurait le modèle 2 : les articles de la rubrique (pour un sommaire dans une rubrique)... etc.
      Car là par exemple j’aurais besoin, pour des articles d’annuaire, d’afficher des sommaires sans les articles-frères car trop nombreux.
      En idéal, pouvoir utiliser différents types de sommaires..

    • Le 2 juin 2012 à 01:14, par Pat En réponse à : Un sommaire pour vos articles

      Ah oui, ce pourrait être une fonctionnalité intéressante. A creuser alors ;-)

    Répondre à ce message

  • Le 23 mai 2012 à 17:42, par thomas En réponse à : Un sommaire pour vos articles

    Bonjour et comme toujours, un grand merci pour votre travail.

    Je cherche à profiter de la div pliable/dépliable du sommaire de chaque article, pour y ajouter la liste de ses articles-frères (de la même rubrique).Je ne suis pas un crac en prog spip et comme ça fait un bon moment que je cherche, tourne, lis .. en vain (à croire que personne n’a déjà cherché à faire la même chose) j’espere que vous pourrez voir ce qui cloche.

    Pour cela je surcharge sommaire.html (voir code joint) mais cela ne me donne pas le résultat voulu : je cherche à avoir à la suite de l’ul des titres de l’article, l’ul des autres articles de la rubrique, le tout dépliable et repliable...

    <div class="cs_sommaire cs_sommaire_[(#ENV*{fond_css})]_fond" id="outil_sommaire">
     <div class="cs_sommaire_inner">
       <div class="cs_sommaire_titre_[(#ENV*{fond_css})]_fond">&nbsp; <:couteau:sommaire_titre:> &nbsp;</div>
       <ul>
         [(#ENV*{sommaire})]
       </ul>
           
           
            <B_articles_meme_niveau>
                    <ul class="nav_art_freres">
                            <h4><:autres_articles_rubrique:></h4>
                            <BOUCLE_articles_meme_niveau(ARTICLES){lang ?}{id_rubrique=#ID_RUBRIQUE}{par num titre}>                  
                            [<li>#EXPOSE{'',<a href="#URL_ARTICLE">}(#TITRE|supprimer_numero)#EXPOSE{'',</a>}</li>]       
                            </BOUCLE_articles_meme_niveau>
                    </ul>
            </B_articles_meme_niveau>

    </div>

    Une idée ?
    Merci !

    • Le 24 mai 2012 à 03:13, par Patrice Vanneufville En réponse à : Un sommaire pour vos articles

      C’est tout à fait normal. Le sommaire est un filtre appliqué à un texte dont il ne connait pas la provenance. Actuellement, le plugin ne transmet pas le contexte, s’il existe : il est donc impossible de boucler sur l’article (ou la rubrique, ou la brève) en cours.

      Je viens de procéder à un changement permettant désormais la transmission du contexte id_[objet], s’il existe : http://zone.spip.org/trac/spip-zone....

      Après mise à jour du plugin, Il te faudra donc entourer ta boucle B_articles_meme_niveau par la boucle article du contexte, sans quoi #ID_RUBRIQUE ne correspondra à rien :

      1. <BOUCLE_article_contexte(ARTICLES){id_article}>
      2. <B_articles_meme_niveau>
      3. (...)
      4. </B_articles_meme_niveau>
      5. </BOUCLE_article_contexte>

      Télécharger

      Par contre, je ne suis pas sûr de la validité HTML de ton <h4>...

    • Le 24 mai 2012 à 17:13, par thomas En réponse à : Un sommaire pour vos articles

      Ah ben, merci beaucoup de cette réponse et même de cette mise à jour du plugin !
      Alors bon, ça marche quoi... que dire de plus, c’est fantastique.
      Je vais regarder maintenant cette question du <h4>.

      Je mets le code qui marche donc maintenant chez moi (si des améliorations sont possibles... ou si cela peut servir à quelqu’un..)

      </ul> <!-- fermeture de l'ul du sommaire -->
             
      <BOUCLE_recup_context(ARTICLES){id_article}>
      <ul class="nav_art_freres">
      <h4><:autres_articles_rubrique:></h4>
      <BOUCLE_articles_meme_niveau(ARTICLES){lang ?}{id_rubrique=#ID_RUBRIQUE}{par num titre}>                  
      [<li>#EXPOSE{'',<a href="#URL_ARTICLE">}(#TITRE|supprimer_numero)#EXPOSE{'',</a>}</li>]       
      </BOUCLE_articles_meme_niveau>
      </ul>
      </BOUCLE_recup_context>
      </div>
      </div>
    • Le 24 mai 2012 à 18:44, par thomas En réponse à : Un sommaire pour vos articles

      Ah, finalement il y a un problème, dans la zone privée de l’article-test dans lequel s’applique le sommaire, j’ai une alerte sur des erreurs (voir la capture).
      La ligne pointée dans tmp/couteau-suisse/mes_fonctions.php dit ça :
      foreach($GLOBALS['contexte'] as $i=>$v) if(strncmp($i,'id_',3)==0) $temp[$i] = $v;

      que puis-je faire ?
      Merci encore.

      JPEG - 358.7 ko
    • Le 25 mai 2012 à 02:23, par Patrice Vanneufville En réponse à : Un sommaire pour vos articles

      OK. Je viens de publier une correction sur le plugin pour éviter cette erreur et transmettre l’id_article en privé sous SPIP 2.1. A titre d’info, le contexte est OK sous SPIP 3 car la partie privée est squeletisée.

    • Le 25 mai 2012 à 02:46, par thomas En réponse à : Un sommaire pour vos articles

      Ah, j’étais en train de te répondre ente tes deux posts, pas grave je finis celui ci et je ferai la mise à jour.
      Alors mon SPIP est le 2.1.12 (avec le plugin Kit-CNRS mais qui à mon sens n’aurait pas beaucoup d’incidences sur ce problème). Pour appeler le sommaire je passe par #CS_SOMMAIRE dans mon fichier article :

      <INCLURE{fond=entete}{id_article}{type_page=article}{lang}>

      <BOUCLE_article_principal(ARTICLES){id_article}>

      #CS_SOMMAIRE

      <INCLURE{fond=article_corps}{id_article}{lang}>

      </BOUCLE_article_principal>
      <p><:aucun_article:></p>
      <//B_article_principal>

      <INCLURE{fond=pied}{lang}>

      Par contre la partie ajoutée (articles-freres) ne disparait pas comme le fait la partie sommaire...elle n’est pas touchée par le display:none ?... je cherche..

      Merci... encore..

    • Le 25 mai 2012 à 03:05, par thomas En réponse à : Un sommaire pour vos articles

      Donc après mise à jour du plugin, j’ai à nouveau le même message (cf. capture)... arg.
      J’ai vidé les caches (même redémarré wamp... vidé le cache du butineur etc.. sait jamais..quoique quand même). Le sommaire est inchangé.

      JPEG - 34.5 ko
    • Le 25 mai 2012 à 03:42, par Patrice Vanneufville En réponse à : Un sommaire pour vos articles

      Vérifie bien que le plugin soit en révision 61649 minimum...

      pour le repliement, JS l’effectue sur un next() effectivement. Peut-être pourrais-tu englober tes 2 <ul> par un <div> qui serait bien replié...

      Concernant la validité, est-il possible de mettre un <h4> dans un <ul> ? Ce serait peut-être mieux un <lh>...

    • Le 25 mai 2012 à 04:00, par Patrice Vanneufville En réponse à : Un sommaire pour vos articles

      ... Il faut aussi réafficher la page du Couteau Suisse pour qu’il se recompile.

      Ajout d’un corps repliable : http://zone.spip.org/trac/spip-zone/changeset/61658

    • Le 25 mai 2012 à 04:00, par thomas En réponse à : Un sommaire pour vos articles

      C’est bizarre, tu écris un truc mais je le reçois en deux parties.. à plusieurs minutes d’intervalle... bref.
      Alors oui, j’ai réaffiché la page Couteau Suisse et d’ailleurs j’ai même remodifé les paramètres du sommaire auto (profondeur des intertitres, couper à 40 etc.).

      L’idée du div englobant les deux ul était la bonne, ça fonctionne parfaitement ! Effectivement un lh au lieu d’un h4 est plus correct.

      Je mets le fichier sommaire fonctionnant au poil :

      <div class="cs_sommaire cs_sommaire_[(#ENV*{fond_css})]_fond" id="outil_sommaire">
       <div class="cs_sommaire_inner">
         <div class="cs_sommaire_titre_[(#ENV*{fond_css})]_fond">&nbsp; <:couteau:sommaire_titre:> &nbsp;</div>
              <div>
         <ul>
           [(#ENV*{sommaire})]
         </ul>
              <BOUCLE_recup_context(ARTICLES){id_article}>

                      <ul class="nav_art_freres">
                              <lh><:autres_articles_rubrique:></lh>
                              <BOUCLE_articles_meme_niveau(ARTICLES){lang ?}{id_rubrique=#ID_RUBRIQUE}{par num titre}>                  
                              [<li>#EXPOSE{'',<a href="#URL_ARTICLE">}(#TITRE|supprimer_numero|couper{40})#EXPOSE{'',</a>}</li>]       
                              </BOUCLE_articles_meme_niveau>
                      </ul>
      </div>
              </BOUCLE_recup_context>
       </div>
      </div>

      Tout fonctionne si ce n’est cet affichage en partie privée de l’article concerné par le sommaire qui fait un peu désordre, quoi... je vais continuer à « chercher ».

      Grand merci !

    • Le 25 mai 2012 à 04:05, par Patrice Vanneufville En réponse à : Un sommaire pour vos articles

      Je ne comprends pas, si la balise #CS_SOMMAIRE est activée, alors la partie privée ne montre aucun sommaire... Aucun calcul de contexte donc ! Quelle est la ligne pointée par l’erreur persistante ?

      Attention dans ton exemple le </div> doit sortir de la boucle...

    • Le 25 mai 2012 à 14:45, par thomas En réponse à : Un sommaire pour vos articles

      Alors je pense que les choses rentrent dans l’ordre : j’ai effectué une mise à jour du plugin (révision 61658), et il n’y a plus de message d’avertissement.
      J’ai en outre sorti le /div de la boucle.
      Tout à l’air nickel, quoi. Le pied.

    Répondre à ce message

  • Le 20 mars 2012 à 16:09, par gigi En réponse à : Un sommaire pour vos articles

    Bjr ! Découpe + sommaire : peut-on supprimer le p1, p2, etc... ? Si quelqu’un voit où ça se trame... Merci !

    • Le 20 mars 2012 à 22:36, par Pat En réponse à : Un sommaire pour vos articles

      Oui depuis la dernière révision du Couteau Suisse : http://zone.spip.org/trac/spip-zone....

      Pour éviter la mention des pages, placer la fonction suivante dans config/mes_options.php.

      1. function sommaire_id_page($element, $page) {
      2. return $element;
      3. }

      Télécharger

      Rappel de la fonction native :

      1. function sommaire_id_page_dist($element, $page) {
      2. return $page ? $element . _T('couteau:sommaire_page', array('page'=>$page)) : $element;
      3. }

      Télécharger

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Metas +

    3 décembre – commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

  • Critère {mots}

    6 août 2009 – 316 commentaires

    Permettre de sélectionner facilement des objets SPIP ayant un ou des mots clefs en communs.

  • LinkCheck : vérificateur de liens

    13 février 2015 – 64 commentaires

    Ce plugin permet de chercher et tester l’ensemble des liens présents dans les objets. Vous pourrez donc en quelques clics connaître les liens brisés ou défectueux qui se sont immiscés dans le contenu de votre site SPIP. La vérification s’effectue en (...)

  • Import ICS 2 (agenda distant)

    2 août – 39 commentaires

    La version 2 du plugin « import ICS » en reprend la principale fonctionnalité, à savoir l’ajout automatique d’évènements distants dans la liste des évènements d’un site. À la différence de la première version, elle ne dépend pas du plugin « Séminaire » et est (...)

  • GIS 4

    11 août 2012 – 1286 commentaires

    Présentation et nouveautés La version 4 de GIS abandonne la libraire Mapstraction au profit de Leaflet. Cette librairie permet de s’affranchir des librairies propriétaires tout en gardant les mêmes fonctionnalités, elle propose même de nouvelles (...)

Ça spipe par là