SPIP-Contrib

SPIP-Contrib

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

273 Plugins, 191 contribs sur SPIP-Zone, 193 visiteurs en ce moment

Accueil du site > Navigation > Défilement infini > Défilement infini sur les articles

Défilement infini sur les articles

6 septembre 2011 – par jfefe – <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

12 votes

Basé sur le code d’Arnaud Bosquet voici la procédure pour mettre en place un défilement infini sur les listes d’articles.

Installer le plugin

Installer le plugin à l’aide de l’archive zip ci-joint.

Le plugin utilise le pipeline jquery_plugins pour insérer un script javascript dans l’entête des pages.

Modifications à faire sur les squelettes

Pour faire fonctionner le javascript fourni Il faut ajouter quelques élements (principalement des attributs) aux squelettes.

Voici en exemple une boucle qui liste les 5 derniers articles de la rubrique en cours de consultation, classés du plus récent au plus ancien :

<B_articles>
<div class="liste articles" id="rub-#ID_RUBRIQUE">
        #ANCRE_PAGINATION
        <h2 class="h2"><:articles_rubrique:></h2>
        [<noscript><p class="pagination">(#PAGINATION{page})</p></noscript>]
        <div class="nb_com"><BOUCLE_totarticles(ARTICLES){id_rubrique}> </BOUCLE_totarticles>#TOTAL_BOUCLE</B_totarticles></div>
        <ul class="liste-items">
                <BOUCLE_articles(ARTICLES){id_rubrique} {!par date} {pagination 5}>
                #INCLURE{fond=inclure/article-resume,id_article,compteur=#COMPTEUR_BOUCLE}
                </BOUCLE_articles>
                <li class="loadmore">Chargement en cours...</li>
        </ul>
       
</div>
</B_articles>

Cette boucle est à placer dans le squelette rubrique.html (ou contenu/rubrique.html si vous utilisez le plugin zpip).

La boucle ci-dessus appelle un fichier inclure/article-resume.html (fourni avec zpip) qui contient :

<BOUCLE_articles(ARTICLES) {id_article} {statut?}>
<li class="item hentry[ num-(#ENV{compteur})]"[ id="art-(#ENV{compteur})"] >
        <h3 class="h3 entry-title"><a href="#URL_ARTICLE" rel="bookmark">[(#LOGO_ARTICLE_RUBRIQUE||image_reduire{150,100})]#TITRE</a></h3>
        <div class="info-publi">[<abbr class="published" title="[(#DATE|date_iso)]">(#DATE|affdate_jourcourt)</abbr>][<span class="sep">, </span><span class="auteurs"><:par_auteur:> (#LESAUTEURS)</span>]</div>
        [<div class="#EDIT{intro} introduction entry-content">(#INTRODUCTION)</div>]
        <div class="meta-publi">
        <a class="lire-la-suite" href="#URL_ARTICLE"><:zpip:lire_la_suite:><span class="lire-la-suite-titre"><:zpip:lire_la_suite_de:> <em>#TITRE</em></span></a>
        <BOUCLE_nb_commentaires(FORUMS) {id_article}{plat} />        [(#TOTAL_BOUCLE|oui)
                <span class="sep">|</span>
                <a[ href="(#URL_ARTICLE|ancre_url{forum})"] class="nb_commentaires">[(#TOTAL_BOUCLE)]&nbsp;[(#TOTAL_BOUCLE|=={1}|?{<:zpip:commentaire:>,<:zpip:commentaires:>})]</a>
                ]
        <//B_nb_commentaires>
        </div>
</li>
</BOUCLE_articles>

Et le SEO dans tout ça...

Le contenu de la liste d’article est chargé dynamiquement lorsque l’internaute défile la page. Au chargement de la page seuls 5 articles sont affichés, donc un robot d’indexation verra uniquement ces 5 articles. Pour leur donner du contenu à indexer, la balise noscript est utilisée. Si javascript n’est pas activé alors on affiche la pagination standard de Spip.

Retour en haut de la page

Vos commentaires

  • Le 14 février à 11:47, par ? En réponse à : Défilement infini sur les articles

    Dans defilement_infini.js il y a #contenu qui est propre à zpip. En l’enlevant on résoud une première moitiée du problème. La seconde moitiée revient à ce que la page ’./ ?page=infiniscroll_articles ne semble pas exister dans le plugin.

    • Le 14 février à 14:08, par jfefe En réponse à : Défilement infini sur les articles

      Dans le fichier js/defilement_infini.js, l’appel était incorrect (suite au renommage du plugin). Il faut modifier ce fichier ou attendre un peu le temps que le zip soit regénéré.

    Répondre à ce message

  • Le 11 novembre 2011 à 18:13, par barbarie En réponse à : Défilement infini sur les articles

    Bonjour,

    J’ai installé le plugin et recopié la boucle exemple mais je n’arrive pas à faire fonctionner le plugin (j’utilise bien zpip). Y a-t’il des sites qui ont réussi à le faire fonctionner ?

    Merci.

    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

  • Introduction à la création d’un livre

    17 janvier – <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Pour produire un livre avec SPIP, on peut produire un PDF. Une des solutions est d’utiliser LaTeX. C’est celle que nous avons choisie. SPIP et LaTeX SPIP permet de produire n’importe quel fichier de type text. En général, il produit des fichiers (...)

  • Escal-V3

    16 février – <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Un jeu de squelettes proposant un affichage en 2 ou 3 colonnes avec un large choix de noisettes à insérer ou pas, fortement paramétrable depuis l’espace privé . A l’instar de sa petite soeur plugin Escal-V2 dont elle reprend toutes les (...)

  • SPIP 1.9.2n, 2.0.17, 2.1.12 disponibles

    17 novembre 2011 – 10 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Bonjour, Plusieurs failles de sécurité ont été repérées (Merci à High-Tech Bridge SA Security Research Lab, Davy et Arnault) dans les versions 1.9, 2.0 et 2.1 de SPIP. Nous rappelons à toutes et tous que le meilleur moyen pour signaler des failles, ou (...)

  • Table des Matières

    29 juillet 2007 – 50 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ajoute des ancres en fonction des intertitres et fournit une balise pour afficher la « table des matières » d’un article - autrement dit un « sommaire » -.

  • Navigation AJAX

    31 janvier – 30 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin permet de modifier automatiquement une parties des liens internes de manière à ce qu’ils ne déclenchent pas un chargement complet de la page cible, mais un chargement en AJAX de certains éléments spécifiés à l’avance. Il permet aussi de (...)