SPIP-Contrib

SPIP-Contrib

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

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

Accueil > Outils pour plugins > Le Couteau Suisse > Découper un texte en pages et/ou en onglets

Découper un texte en pages et/ou en onglets

4 mai 2007 – par Franck Ducas, Patrice Vanneufville – 295 commentaires

38 votes

Un nouveau raccourci typographique qui découpe le texte de vos rubriques ou de vos articles en plusieurs pages, ou crée pour vous des onglets... Rubis sur ongle !

Introduction

Les articles de votre site sont parfois un peu longs et vous vous êtes probablement déjà posé la question de savoir comment alléger vos belles tirades...

Que faire, donc, avec un couteau suisse ? Eh bien une découpe !

Voici notre solution : dans vos textes, il vous suffit d’utiliser quatre signes plus consécutifs (« ++++ ») à l’endroit où doit se trouver la coupure. Ce raccourci n’est pas sans rappeler les quatre signes moins consécutifs (« ---- ») qui indiquent à SPIP l’emplacement d’une ligne horizontale.

L’outil va ensuite ajouter automatiquement une petite zone de navigation en haut et en bas de votre texte, qui peut ressembler à ceci :

PNG - 471 octets

Si un extrait du texte est :

Alors, en passant la souris sur le chiffre « 2 », vous obtiendrez :

GIF - 1 ko

En passant la souris sur les liens de navigation, vous apercevez ci-dessus qu’un titre apparaît : il s’agit en fait du début de la première phrase de la page ciblée. Il pourrait également s’agir du premier titre... A vous de composer !

Lorsque votre article comporte plus de quatre pages, alors la navigation prend une forme plus complexe :

GIF - 1.1 ko

Un petit conseil : à l’intérieur de votre texte, il vaut mieux isoler ce raccourci en sautant une ligne de part et d’autre, SPIP saura alors mieux formater vos paragraphes. Vérifiez également qu’aucune balise HTML ou raccourci SPIP ne traverse les quatre plus (« ++++ ») : vous risquez d’endommager l’aspect de votre site, car chaque page ainsi découpée est considérée comme indépendante. Évitez par exemple :

La bonne syntaxe est :

Installation

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

Pour avoir accès à la découpe de vos textes en plusieurs pages, il vous faut donc avoir installé ce plugin en suivant la procédure normale d’installation des plugins SPIP.

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

Petite astuce : afin d’éviter que le raccourci « ++++ » se retrouve automatiquement dans les résumés produits par la balise #INTRODUCTION, activez aussi l’outil « Balise #INTRODUCTION ».

Notes techniques

-  Techniquement parlant, cet outil agit sur toutes les balises #TEXTE trouvées dans vos squelettes et insère une coupure là où il trouve quatre signes plus (« ++++ »). Vous pouvez donc insérer des découpages dans vos articles, vos textes de rubrique, etc.

-  Une condition est cependant nécessaire : la découpe en page ne fonctionnera pas si votre squelette 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 à mettre une étoile, alors il faut ajouter à votre balise le filtre cs_decoupe, comme ceci : [(#TEXTE*|propre|cs_decoupe)]

-  Le plugin fonctionne tel quel avec la dist de SPIP. Cependant, si votre squelette est construit avec des inclusions, alors il est indispensable de transmettre à la noisette l’indicateur de page {artpage}, ainsi que les options éventuelles {cs} du Couteau Suisse. Par exemple :

<div id="page">
   <div id="contenu">
   <INCLURE {fond=inc-article-corps}{id_article}{id_rubrique}{artpage}{cs}>
   </div>
</div>

Notez que l’argument {env} vous permet de transmettre tout l’environnement au squelette inclus :

<div id="page">
   <div id="contenu">
   <INCLURE {fond=inc-article-corps}{env}>
   </div>
</div>

-  Le développement décrit dans le présent article est inspiré d’un ancien filtre que vous pouvez encore trouver ici : Découper un article en plusieurs pages. Afin d’assurer la compatibilité avec le séparateur "-----", ajoutez le code suivant à votre fichier config/mes_options.php :

// Compatibilite ascendante avec l'ancien filtre 'decoupe'
@define('_decoupe_COMPATIBILITE', '-----');

Cette constante peut également servir à créer un nouveau raccourci de découpe.

Balise #CS_DECOUPE

Par défaut, le Couteau Suisse insère la pagination en tête et en pied d’article automatiquement. Mais vous avez la possibilité de placer cette pagination ailleurs dans votre squelette qu’en tête de votre article grâce à une balise #CS_DECOUPE. L’utilisation de cette balise doit être activée dans la page de configuration et annule ainsi l’insertion automatique des paginations dans votre article.

Cette balise renvoie la pagination seule quand elle existe (quand l’article est découpé), 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.01 du Couteau Suisse, la balise #CS_DECOUPE accepte un paramètre numérique permettant d’accéder directement à un article par son id_article, évitant ainsi une boucle dédiée.

Exemples : #CS_DECOUPE{2}, #CS_DECOUPE{#GET{toto}} ou #CS_DECOUPE{#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_DECOUPE{#ID_ARTICLE}</BOUCLE01>

Les Surcharges

Les images

Si vous désirez changer les images utilisées pour la navigation (par défaut, ce sont de petits triangles noirs), il est préférable de recopier le dossier couteau_suisse/img/decoupe/ directement dans votre squelette. En effet, SPIP va d’abord chercher le dossier en question dans votre squelette avant d’aller explorer les répertoires du plugin : c’est le mécanisme des surcharges. Du coup, vous pouvez créer un dossier monsquelette/img/decoupe/ afin de remplacer celui du Couteau Suisse et y mettre vos propres images. Ainsi, la mise à jour de votre plugin à tendance helvétique préféré pourra se faire sans crainte de perdre votre personnalisation.

Les images doivent obligatoirement se nommer ainsi : debut.gif, debut_off.gif, precedent.gif, precedent_off.gif, suivant.gif, suivant_off.gif, fin.gif, fin_off.gif. Si debut.gif ou fin.gif n’est pas trouvé, alors les images precedent.gif ou suivant.gif seront doublées (cf l’exemple ci-dessus).

Les fonds

Si les fonds proposés par défaut pour la pagination ne vous satisfont pas, alors il suffit pour vous de les surcharger dans votre propre squelette (y copier les originaux avant de les modifier). Les fichiers en question sont : fonds/decoupe_item.html (calcul des numéros) et fonds/decoupe.html (inclusion du fond précédent et ajout des flèches de navigation). Toutes les possibilités CSS vous seront alors ouvertes !

Attention : toute modification d’un fichier ou d’un dossier surchargé nécessite une recompilation des outils du Couteau suisse, obtenue en se rendant simplement sur la page de configuration du plugin ou en ré-affichant celle-ci.

La découpe en AJAX

AJAX est une petite merveille qui permet d’isoler un fragment HTML au sein d’une page et réagissant aux localement clics. En gros, plus besoin de charger la page entière pour en modifier seulement qu’une partie... Ici, la découpe de vos articles se marie très bien avec cette idée, puisqu’il n’est pas nécessaire de tout reconstruire la page (les menus, les entêtes, etc.) alors qu’on ne fait que changer de fragment d’article découpé, comme si on feuilletait les pages d’un livre.

Si vous êtes sous SPIP 2.0 minimum, on continue, sinon, sautez à l’intertitre suivant en attendant de mettre à jour votre CMS préféré.

Pour mettre en place un fragment AJAX, il faut isoler ce qui concerne l’article proprement dit dans un fichier à part que l’on nommera inc-article-corps.html, et y mettre par exemple la boucle suivante (mettez-y, bien sûr, le contenu que vous voulez, le plus important, c’est d’y avoir la balise #TEXTE) :

Ensuite, dans votre fichier article.html, censé afficher la page complète, mettez simplement quelque chose comme :

Avec ce mécanisme, la pagination ne fonctionnera qu’à l’intérieur du <div class="inc_article"> et un clic de souris ne rechargera pas la page entière, mais bien le seul fragment concernant les contenus SPIP de votre article (dans l’exemple ci-dessus : le titre, le chapo éventuel et le texte).

Notez le critère magique {ajax} disponible à partir de SPIP 2.0, l’id de l’article {id_article} nécessaire à la boucle BOUCLE_inc_article, l’indispensable indicateur de page {artpage} à transmettre au fragment, et les options éventuelles {cs} du Couteau Suisse.

Les filtres

Un paramètre artpage ajouté à l’URL de votre article permet au plugin de connaître le numéro de la page à afficher. Il est composé de deux nombres séparés par un tiret : artpage=PC-NB, où PC est le numéro de la page en cours et NB est le nombre total de pages.

Il existe trois filtres pour tirer partie de ce paramètre :

-  artpage($artpage=false, $index=0) : renvoie l’un ou l’autre des deux nombres.
Par défaut (si $index=0), la fonction renvoie la page en cours.
Si $index=1, la fonction renvoie le nombre de pages. Attention : si ce nombre est absent du paramètre artpage ou si ce paramètre est introuvable, alors la fonction renvoie 0.

-  artpage_fin($artpage=false) : renvoie vrai si la page en cours est la dernière. Si le nombre de pages est absent du paramètre artpage ou si ce paramètre est introuvable, alors la fonction renvoie faux.

-  artpage_debut($artpage=false) : renvoie vrai si la page en cours est la première.

Dans vos squelettes, il vous uffit donc d’utiliser :

-  #ENV{artpage}|artpage pour la page en cours
-  #ENV{artpage}|artpage{1} pour le nb de pages, s’il est présent

Deux exemples équivalents :

-  [(#ENV{artpage}|artpage|=={1}|oui) Youpi, ceci est la première page !]
-  [(#ENV{artpage}|artpage_debut|oui) Youpi, ceci est la première page !]

Notez que le filtre oui est introduit par SPIP 2.0. Il permet de rendre vraie une expression au sens SPIP et doit notamment être appliqué sur un filtre de type boolean (vrai/faux). Pour les versions antérieures de SPIP, les exemples précédents sont également valides : le Couteau Suisse contient les filtres oui et non dans ses fonctions et vous permet de les utiliser sans crainte dans vos squelettes.

Astuces

-  En manipulant les styles css, Il vous est possible de désactiver une des deux lignes de navigation (ou les deux si vous le souhaitez, mais le bon sens n’y vois aucun intérêt !). Dans le head de votre squelette ou dans un fichier css, il vous suffit d’insérer « div.decoupe_haut{display:none !important;} » pour supprimer la navigation placée en haut du texte, et « div.decoupe_bas{display:none !important;} » pour supprimer celle d’en bas.

-  Dans les fichiers de votre squelette, vous avez peut-être une balise #TEXTE destinée à l’impression du texte complet, non découpé en pages. Le Couteau Suisse met à votre disposition un filtre "cs_imprimer" qui produira le texte dans son ensemble, où les pages sont simplement séparées par un mince filet pointillé. La syntaxe pourrait être celle-ci : [(#TEXTE*|cs_imprimer|propre)]. Mais ceci est un peu lourd, lisez le point suivant.

-  Dans votre navigateur, ajouter à l’adresse d’une page le paramêtre "cs=print" permet d’obtenir le même effet décrit ci-dessus et force le Couteau Suisse à afficher l’article entier. Par exemple : www.monsite.ici/spip?article999&cs=print
Aussi, ce paramétrage est automatique dans les squelettes suivants : "print.html", "imprimer.html", "imprimir_articulo.html", "imprimir_breve.html" ou "article_pdf.html" (donc ici : "page=print", "page=imprimer", etc.). Lisez ici le paragraphe "Particularités" pour en savoir davantage.

-  Le découpage d’un article peut permettre très facilement de se composer rapidement un diaporama que vous pouvez éventuellement commenter (astuce de Ch. Guigueno). Il suffit de placer une photo par page et le tour est joué ! Voici un exemple (emb1 et emb2 doivent être des images) :

-  Cet outil « Découpe un texte en pages » se marie très bien avec l’utilisation d’un outil voisin, le Sommaire Automatique : « Un sommaire pour vos articles ». 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.

Les onglets dans vos articles

Vous pouvez trouver de très nombreux exemples d’utilisation des onglets dans les articles : par ici ou par ici...

Depuis la version 1.7.8.07 du plugin, l’outil « Découpe un texte en pages » offre (pour peu de code supplémentaire !) la possibilité de construire des onglets dans vos articles (ou même dans vos squelettes). La syntaxe est basée sur le même séparateur (« ++++ ») que l’on place très simplement à l’intérieur des balises <onglets> et </onglets>. Par exemple :

Voici en image ce que donne un usage par défaut :

GIF - 1.2 ko

Dont voici le code :

Cette fonctionnalité utilise les librairies JQuery, simplifiant grandement la tâche des programmeurs et utilisées par SPIP lui-même.

Afin d’afficher correctement les onglets demandés par le rédacteur, le plugin fournit le code HTML suivant :

jQuery va ensuite construire à la volée le système d’onglets et mettre en rapport les onglets cliquables et les contenus. Les ancres sont introduites dans certaines balises <div> sous forme : id="mon_ancre".

Cela donne donc au final le code HTML suivant :

Aspect visuel

Dans le code ci-dessus, il est facile de repérer les différents blocs <div> ou <h2>, affublés de classes qui vous permettrons de changer l’aspect des onglets à votre guise, comme ceci par exemple, les onglets créés par Douglas Bowman :

GIF - 2.9 ko

dont j’ai reconstitué pour vous le fichier CSS adapté au Couteau Suisse qui devra être interprété APRES les styles définis par défaut :

Cascading Style Sheet - 1.4 ko

Voici d’autres onglets créés par Douglas Bowman :

GIF - 1.6 ko

Je mentionne également une contribution similaire de Pi r, ayant adapté pour SPIP les scripts d’Erik Arvidsson, programmés en Javascript pur. Mais aujourd’hui, autant utiliser directement les librairies jQuery de SPIP et alléger le temps de chargement des pages. Les versions 1.7.9.12 et suivantes du Couteau Suisse comprennent la syntaxe de ce plugin, assurant ainsi une compatibilité pour d’anciens articles basés sur ces travaux.

Ancres et paramètres

Chaque bloc d’onglets est affublé d’une ancre : #ongl_0, #ongl_1, etc. Ajoutée à l’url de votre page, l’ancre placera automatiquement le navigateur en tête de bloc.

Pour activer un onglet particulier sur une page lors du chargement de cette dernière, il vous suffit d’ajouter un paramètre dans votre url. Par exemple : "onglet=2" (ou "http://www.spip-contrib.net/Decouper-un-texte-en-pages-et-ou?onglet=2").

Notez que le premier onglet est noté zéro ; l’exemple précédent activera donc le troisième onglet de la page entière.

Les onglets dans vos squelettes

Depuis la version 1.7.9.12 du plugin, de nouvelles balises (#ONGLETS_DEBUT, #ONGLETS_TITRE et #ONGLETS_FIN) ont été introduites afin de vous permettre de construire des onglets directement dans votre squelette (fichiers *.html). Voici un exemple de syntaxe :

Au sein d’une boucle SPIP et sur un bloc d’onglets principal (non imbriqué dans un autre bloc d’onglets), vous pouvez omettre #ONGLETS_DEBUT, le Couteau Suisse construira quand même le bloc correctement (version 1.8.06.01 minimum du plugin). Si votre bloc d’onglet est imbriqué, alors il faut jouer avec la balise #COMPTEUR_BOUCLE et vérifier que le premier appel de balise est bien #ONGLETS_DEBUT. L’intérêt ici est de pouvoir placer un champ de cette boucle dans le titre des onglets.

Par exemple, le code :

s’il n’est pas contenu dans un autre bloc d’onglets, peut être simplifié en :

Dépendances

-  La librairie jQuery est requise pour le fonctionnement des Onglets, dans la construction et la manipulation des jeux d’onglets présents sur la page finale. Ces fonctions Javascript très utile a été intégré au core dès la version 1.9.2 de SPIP. Pour les versions inférieures, il vous faut installer et activer le plugin Jquery que vous pouvez télécharger ici : http://zone.spip.org/files/spip-zon....

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

-  Bug ! Manu_TJ nous a écrit : « sur mon site, l’utilisation des onglets ne fonctionne pas sur de très longs articles : la page affichée est blanche, le texte est bien en base mais ne s’affiche pas à l’écran (espace public comme privé). Dès que j’enlève les balises "onglets", l’article réapparaît. Et sur les articles avec moins de texte, pas de soucis non plus ». Il s’avère que son site est interprété par PHP v5.2.9 et il semble que sous cette version du célèbre langage, la fonction preg_replace_callback() en mode "ungreedy" perd le texte en cours de route s’il est trop long : l’expression ',<onglets([0-9]*)>(.*?)</onglets\1>,ms' ne fonctionne plus alors que ',<onglets([0-9]*)>(.*)</onglets\1>,ms' fonctionne toujours... En regardant le début du fichier outils/decoupe_fonctions.php on voit l’expression régulière qui nous intéresse en define(). Il suffit donc de la surcharger dans le fichier /config/mes_options.php en ajoutant la ligne suivante :

define('_onglets_REGEXPR', ',<onglets([0-9]*)>(.*)</onglets\1>,ms');

Cela annulera l’effet ungreedy de l’expression mais interdira du coup les multiples systèmes d’onglets dans un article. Cependant, cette expression contourne le bug de PHP 5.2.9 ...

Voir aussi

-  Le plugin autonome (non dépendant du couteau suisse) : En onglets dans le texte de SPIP, ou ailleurs...

Dernière modification de cette page le 16 avril 2015

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 11 décembre 2015 à 14:43, par Manu En réponse à : Découper un texte en pages et/ou en onglets

    Je suis en train de rédiger un manuel de rédaction SPIP
    Sur une longue page, j’utilise des blocs dépliables + ancre douce. Parfait, ça fonctionne aux petits oignons. Parce que la page me paraissait bien longue et que je voulais mieux l’organiser, j’ai mis à contribution la lame « découpe en onglets ». Pas de souci, ça fonctionne très bien
    sauf que...
    sur le premier onglet, les ancres (internes à l’onglet) fonctionnent « bizarrement » : certaines « glissent » encore, d’autres fonctionnent mais « brutalement » (ie : pas de glissement)
    sur les autres onglets, les ancres (internes à chaqque onglet) ne fonctionnent plus.
    On peut facilement imaginer que la découpe en onglets perturbe le navigateur qui a du mal à retrouver les ancres. Y aurait-il toutefois un patch à imaginer ?
    (je peux te donner en privé une url à consulter)

    PS : Pour être sûr de bien se comprendre : le dysfonctionnement observé concerne les ancres permettant de naviguer à l’intérieur de chacun des onglets, pas d’un lien présent dans un onglet vers une ancre située dans un autre onglet

    Répondre à ce message

  • Le 10 octobre 2015 à 21:48, par Ivan En réponse à : Découper un texte en pages et/ou en onglets

    Bonjour,

    J’utilise Spip 3.0.20, et le couteau suisse en 1.9.8.
    Avec la fonction de pagination des articles, toutes les notes de bas de page présentes dans le corps de l’article (typiquement [1]) sont ré affichées sur toutes les pages de l’article.

    Y a-t-il un moyen de n’afficher en bas de chaque page que les notes de bas de page dont l’appel est bien présent dans la page courante ?

    (j’ajoute que je n’utilise pas l’affichage des notes sous forme de bulles locales dans le corps du texte).

    Merci à vous pour vos infos.

    [1ma note de bas de page bla bla bla qui donnera [1] dans le texte

    Répondre à ce message

  • Le 30 octobre 2015 à 17:06, par Jean-Jacques En réponse à : Découper un texte en pages et/ou en onglets

    Bonjour,
    Je rencontre un « problème » avec ce système d’onglets.
    Le code généré utilise un h2 pour le titre de l’onglet.
    C’est judicieux si le titre de l’onglet contient une information importante.
    Si, par contre, c’est une découpe systématique du contenu comme par exemple
    Description, Public visé, Explications détaillées, Tarification, le h2 n’a plus d’intérêt.

    Est ce que l’on peut changer cela sans intervenir sur le code du plugin ?
    Merci !
    Cordialement

    • Le 30 octobre 2015 à 18:59, par Pat En réponse à : Découper un texte en pages et/ou en onglets

      Bonjour,
      Le h2 est codé en dur dans le plugin... Si on veut changer cette balise, alors il faut toucher au code ;-)
      Est-ce un besoin « vital » ? Quel genre de « problème » rencontres-tu ?

    Répondre à ce message

  • Le 27 avril 2013 à 10:12, par rcaron En réponse à : Découper un texte en pages et/ou en onglets

    Bonjour,

    Je viens de mettre à jour spip 2.1.20 vers Spip 3.0.8. Couteau à jour de la dernière version. Cache vider et TMP supprimer.

    Les onglets de l’article apparaissent en partir privée mais pas en publique.

    Une solution ?

    Un grand merci à vous.

    Robert

    • Le 6 juin 2013 à 14:20, par rubenxela En réponse à : Découper un texte en pages et/ou en onglets

      Tu as aussi mis à jour tes plugins ?

    • Le 7 juin 2013 à 00:31, par Pat En réponse à : Découper un texte en pages et/ou en onglets

      Il y a une erreur sans doute javascript à débusquer... Cette erreur bloque le comportement normal des blocs en partie publique. Ou alors #INSERT_HEAD manque à l’appel ?

    • Le 23 mars 2015 à 14:38, par Théo En réponse à : Découper un texte en pages et/ou en onglets

      Bonjour,

      J’ai le même problème que rcaron mais avec le séparateur de pages ou d’onglets…

      Quelqu’un aurait-il une solution ?

    • Le 23 mars 2015 à 23:35, par Pat En réponse à : Découper un texte en pages et/ou en onglets

      Bonjour,
      Tu as un lien public à montrer ? Quel est le squelette ? Les plugins actifs ?
      A vérifier aussi l’utilisation de la balise #TEXTE dans le plugin.
      A bientôt !

    • Le 24 mars 2015 à 10:06, par Théo En réponse à : Découper un texte en pages et/ou en onglets

      Bonjour,
      Ben non, je suis encore en local :-(
      Mon squelette est Sarka-SPIP 3.4.5 et j’ai désactivé tous mes plugins sauf ceux qui vont avec le squelette : Z-core 2.4.3 et Zen-Garden 2.6.2
      Je ne suis qu’un débutant et ne sais pas où trouver cette balise #TEXTE et surtout comment la vérifier et/ou la modifier…

      Par contre, les onglets fonctionnent :-)

    • Le 9 mai 2015 à 19:11, par Théo En réponse à : Découper un texte en pages et/ou en onglets

      Bonjour,

      Toujours en local, je suis passé à Sarka-SPIP Reloaded 4.4.16 qui oblige à utilser :
      Bootstrap 2.1.4, 
Comments 3.3.2, Compositions 3.3.12, LESS CSS 1.0.5
, 
SPIP Bonux 3.1.0, 
Z-core 2.4.3

      J’ai retenté « Le Couteau Suisse 1.9.7 » avec : « Intertitres en image », « Sommaire automatique », et « Découpe en pages et onglets » et je retrouve les mêmes problèmes ! Par contre un tiret bas (_) vient se placer devant chaque intertitre. Il est cliquable vers #outil_sommaire de cette page

      Je vide le cache régulièrement ainsi que celui du navigateur (les onglets fonctionnent).

      Que faire ?

    • Le 10 mai 2015 à 12:29, par Théo En réponse à : Découper un texte en pages et/ou en onglets

      Dans la partie privé, ça fonctionne mais dans la partie publique,
      seul le &var_mode=calcul permet d’amener la bonne page…

      Mes réglages :
      Activer la balise #CS_DECOUPE : OUI
      Votre choix :
       Edition des contenus
       Messages de Forum

    Répondre à ce message

  • Le 13 octobre 2011 à 21:20, par  ??? En réponse à : Découper un texte en pages et/ou en onglets

    Bonjour,
    J’utilise les onglets et dans le 3e onglet j’affiche une carte gis, mais la carte ne s’affiche pas à cause d’un problème de javascript est ce quelqu’un sait comment résoudre ce probleme ???

    PS : Si je mets la carte sur le 1er onglet j’ai pas ce problème

    Merci de votre aide

    voici l’url http://play.imedia.sn/spip.php?article1

    Répondre à ce message

  • Le 29 mai 2014 à 22:24, par Seds En réponse à : Découper un texte en pages et/ou en onglets

    bonsoir,
    j’ai fait cette boucle, et je ne comprends pas pourquoi la liste d’article de la rubrique suivante de s’affiche pas en onglets. je ne retrouve plus la solution. vous pouvez m’aider ?

    1. <B_sous_rubriques>
    2. <div class="boutique">
    3. <ul class="boutique_cadre">
    4.  
    5. <BOUCLE_sous_rubriques(RUBRIQUES)
    6. {id_parent} {par num titre}{!par id_rubrique}>
    7. <li class="album">
    8. [(#LOGO_RUBRIQUE
    9. |image_reduire{330,*}
    10. |inserer_attribut{class,album_logos})]
    11.  
    12. <B_articles>
    13. <div class="album_list">
    14. <h2>#TITRE</h2>
    15. <B_articles>
    16. <BOUCLE_articles(ARTICLES)
    17. {id_rubrique} {par num titre}{par id_article}>
    18. #ONGLETS_TITRE{#TITRE}
    19. #TEXTE
    20. </BOUCLE_articles>
    21. #ONGLETS_FIN
    22. </B_articles>
    23. </div>
    24. </B_articles>
    25.  
    26. </li>
    27. </BOUCLE_sous_rubriques>
    28.  
    29. </ul>
    30. </div>
    31. </B_sous_rubriques>

    Télécharger

    à ce jour, en ligne ça donne ça : http ://dev.twxdesign.com/koto_2/spip.php ?rubrique6

    • Le 30 mai 2014 à 09:27, par Seds En réponse à : Découper un texte en pages et/ou en onglets

      je précise que j’ai essayé la boucle avec #COMPTEUR_BOUCLE, mais ça n’ai rien donné de bon

    • Le 30 mai 2014 à 11:34, par Seds En réponse à : Découper un texte en pages et/ou en onglets

      pardon, la boucle prcédente est erronée. voici la boucle utilisée :

      1. <B_sous_rubriques>
      2. <div class="boutique">
      3. <ul class="boutique_cadre">
      4.  
      5. <BOUCLE_sous_rubriques(RUBRIQUES)
      6. {id_parent} {par num titre}{!par id_rubrique}>
      7. <li class="album">
      8. [(#LOGO_RUBRIQUE
      9. |image_reduire{330,*}
      10. |inserer_attribut{class,album_logos})]
      11.  
      12. <B_articles>
      13. <div class="album_list">
      14. <h2>#TITRE</h2>
      15. <BOUCLE_articles(ARTICLES)
      16. {id_rubrique} {par num titre}{par id_article}>
      17. #ONGLETS_TITRE{#TITRE}
      18. #TEXTE
      19. </BOUCLE_articles>
      20. #ONGLETS_FIN
      21. </div>
      22. </B_articles>
      23.  
      24. </li>
      25. </BOUCLE_sous_rubriques>
      26.  
      27. </ul>
      28. </div>
      29. </B_sous_rubriques>

      Télécharger

    • Le 7 juin 2014 à 17:46, par Seds En réponse à : Découper un texte en pages et/ou en onglets

      bon c pas gentil de me laisser comme ça..

      le truc que c’est que quand j’utilise le html dans la boucle, les onglets s’affichent dans les sous-subriques mais les titres s’affichent en « undefined ». y’a qu’avec les balises que ça fonctionne mais ça me rajoute des </div> dans la 2nde rubrique affichée de cette manière :

      1. <div class="list">
      2. <h2>titre ssrub2</h2>
      3.  
      4. </div><div class="onglets_contenu">
      5. <h2 class="cs_onglet"><a href="#">titre art1 ssrub2</a></h2>
      6. contenu texte
      7.  
      8. </div><div class="onglets_contenu">
      9. <h2 class="cs_onglet"><a href="#">titre art2 ssrub2</a></h2>
      10. contenu texte
      11.  
      12. </div></div>
      13. </div>

      Télécharger

      je sais qu’il y a une astuce, on m’en avait parlé ya très longtemps, mais je sais plus laquelle, genre un truc à ajouter à #ONGLETS_TITRE(truc pour ID_RUBRIQUE) et #ONGLETS_FIN(truc pour ID_RUBRIQUE)

    • Le 15 juin 2014 à 16:02, par Seds En réponse à : Découper un texte en pages et/ou en onglets

      et bien merci de votre réponse, j’ai fini par trouver une soluce, pas catholique mais ça marche

      pour ceux que ça intéresse : ma boucle

    Répondre à ce message

  • Le 1er avril 2014 à 19:52, par rcaron En réponse à : Découper un texte en pages et/ou en onglets

    Je ne comprends pas...

    Les onglets ne fonctionnent plus en public (mais fonctionnent en privé) depuis mise à jour SPIP 3.0.16 [21266].

    J’ai vidé les caches, Couteau-suisse à jour et activé. Rien n’y fait !

    Je n’ai pourtant rien bricolé sur le squelette.

    Un exemple : http://malle-arts.org/spip.php?article230

    Un grand merci à vous. Très ennuyé

    Robert

    • Le 1er avril 2014 à 20:01, par Pat En réponse à : Découper un texte en pages et/ou en onglets

      Bonjour, sur Firefox tout fonctionne très bien... Si les onglets ne fonctionnent pas, c’est qu’une erreur JS (squelette ? autre plugin ? cache ?) les bloque...

    Répondre à ce message

  • Le 21 mars 2014 à 13:22, par Billou En réponse à : Découper un texte en pages et/ou en onglets

    Pour faire suite à la discussion lancée sur cette page, je voulais précisé que j’utilisais déjà Ajax pour les paginations. Et malheureusement quand le texte est long, la fenêtre ne remonte pas au début du texte lors du passage à la page suivante. Au contraire de la pagination de SPIP.

    Répondre à ce message

  • Le 6 décembre 2013 à 19:21, par  ??? En réponse à : Découper un texte en pages et/ou en onglets

    Bonjour,
    j’utilise l’option découpage dans le texte de mes articles avec 2 onglets tout simplement, mais dans chaque onglet il ya un moteur de recherche ajaxé, alors pour le 1er onglet il n’ya pas de problème la recherche se fait sans soucis mais pour le 2em onglet rien ne se passe. Je me dis que c’est du fait que c’est ajaxé, mais j’aimerai gardé mes onglets et mon moteur de recherche, alors exist il un moyen de contourner ce problème ? Merci de votre aide

    • Le 7 décembre 2013 à 14:56, par Patrice Vanneufville En réponse à : Découper un texte en pages et/ou en onglets

      Bonjour,

      Il est possible que les onglets cachés ne permettent plus les programmations JS, et bloquent donc l’ajaxisation.

      Pour tester, est-ce que par hasard tout est bon lorsque le paramètre « &cs=print » est ajouté dans l’URL ?

      Est-ce que le code JS des recherches est bien placé avant celui du Couteau Suisse qui se charge de mettre en forme les blocs de découpe ?

    Répondre à ce message

  • Le 17 septembre 2013 à 19:31, par Manu En réponse à : Découper un texte en pages et/ou en onglets

    Quelle solution élégante lorsqu’il y a beaucoup d’onglets ?
    Quand il y a beaucoup d’onglets, les onglets s’empilent un peu n’importe comment et ça n’est pas très chouette....
    Patrice, as-tu des expériences là-dessus ? Un système de pagination d’onglets, c’est possible ? Faire un slider jquery d’onglets, ça marcherait ? Une autre piste ?
    Merci d’avance de tes conseils et/ou d’exemples...et merci au passage pour ce bel outil qu’est le CS !

    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

  • Brownie

    6 juillet 2012 – 43 commentaires

    Brownie est une adaptation pour Zpip du thème du même nom initialement développé par Egrappler.com. Présentation Brownie est un thème Responsive à deux colonnes. La démonstration ci-dessous utilise la version 2.0.0 de Brownie, la dist de SPIP3 (...)

  • Métas +

    3 décembre – 13 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, (...)

  • Acces Restreint 3.0

    11 décembre 2008 – 785 commentaires

    Le plugin accès restreint permet de définir et de gérer des zones de l’espace public en accès restreint. Cette version du plugin a été redévelopée et optimisée tout spécialement pour SPIP 2.0. Il en découle une amélioration des performances sur les gros (...)

  • Compositions 2 et 3

    25 mars 2011 – 176 commentaires

    Ce plugin vous permet de définir plusieurs variantes de squelettes (nommées compositions) pour un même type d’objet SPIP. Dans l’espace privé, il est alors possible de choisir, dans un menu déroulant, la composition qu’on veut attribuer à chaque (...)

  • Configurer Sparkpost

    25 avril – 18 commentaires

    N’hésitez pas à relire le préambule de cette rubrique avant de créer un compte sur une plateforme tierce . Présentation Sparkpost est une société d’envoi de mailing https://www.sparkpost.com/ Sur les petits volumes ( <100.000 emails / mois), (...)

Ça spipe par là