<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>pagination — Forum de PluXml</title>
        <link>https://forum.pluxml.org/index.php?p=/</link>
        <pubDate>Tue, 19 May 2026 15:14:33 +0000</pubDate>
        <language>fr</language>
            <description>pagination — Forum de PluXml</description>
    <atom:link href="https://forum.pluxml.org/index.php?p=/discussions/tagged/pagination/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>[script] paginer le contenu d'une page statique [PHP]</title>
        <link>https://forum.pluxml.org/index.php?p=/discussion/7388/script-paginer-le-contenu-dune-page-statique-php</link>
        <pubDate>Sat, 04 Mar 2023 23:37:34 +0000</pubDate>
        <category>Vos créations</category>
        <dc:creator>gcyrillus-nomade</dc:creator>
        <guid isPermaLink="false">7388@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Voici un script PHP permettant de paginer le contenu d'une page statique.</p>

<pre><code>&lt;style&gt;:where(.page-item.page-link.active) { text-decoration:underline;font-weight:bold; padding:0.3em 2em;}.pagination.text-center.center.bordered{border-radius: 5px;width:max-content;  margin:auto;  border:solid 1px;display:flex;align-items: center;list-style:none;gap:0.5em}&lt;/style&gt;&lt;?php
# $this is $plxShow
    #########################################
    #configuration 
    #########################################
    # nombre de bloc à afficher par page
    $bypage = 1;

    $intermediaire = false; //mettre true au lieu de false pour afficher les liens de chaque page
    #########################################
    # FIN configuration
    #########################################

    ############################# 
    # extraction et maj variables
    ############################# 

    # extraction de l'url
    $url = 'static'.$this-&gt;staticId().'/'.$this-&gt;plxMotor-&gt;aStats[$this-&gt;plxMotor-&gt;cible]['url'];

    # generation du lien
    $link = $this-&gt;plxMotor-&gt;urlRewrite($url."/?page");

    # extraction du numéro de page dans l'URL 
    $currentPage = preg_match('#\bpage(\d*)#',$_SERVER['REQUEST_URI'], $capture) ? intval($capture[1]) : 1;

    # indice de début, premier article à afficher
    $start = ($currentPage - 1) * $bypage;


    #################################################
    # stockage des blocs de contenus dans un tableau
    # tableau defini dans array(). chaque bloc stocké
    # entre deux apostrophe ' 
    # separé par une virgule ,
    # si un bloc contient une apostrophe '
    # celle-ci doit-être préceder d'un \\
    # depuis l'administration de PluXml, 
    # Il faut doubler ce signe en \\\\
    # exemple: l\\'exemple. C\\'est obligatoire.
    #################################################

$blocks = array(
'&lt;div&gt; A - un div dans la boucle, c\\'est le premier.&lt;/div&gt;',

'&lt;div&gt; B - un div dans la boucle&lt;/div&gt;',

'&lt;div&gt; C - un div dans la boucle&lt;/div&gt;',

'&lt;div&gt; D - un div dans la boucle&lt;/div&gt;',

'&lt;div&gt; E - un div dans la boucle&lt;/div&gt;',

'&lt;div&gt; F - un div dans la boucle&lt;/div&gt;',

'&lt;div&gt; G - un div dans la boucle&lt;/div&gt;',

'&lt;div&gt; H - un div dans la boucle&lt;/div&gt;',

'&lt;div&gt; I - un div dans la boucle, c\\'est le dernier&lt;/div&gt;')
;

// Calcul du 1er article de la page
$premier = ($currentPage * $bypage) - $bypage;

// On calcule le nombre de pages total
$nbr = count($blocks);
$pages = ceil( $nbr / $bypage);


$blocks = array_slice($blocks, $premier, $bypage);
?&gt;
&lt;!-- affichage des blocs selon le nombre à afficher par pages dans la variable $bypage --&gt;
&lt;div class="my_articles"&gt;
&lt;?php
    # boucle pour l'affichage
    foreach ($blocks as $key) {

 echo $key;
    }
?&gt;
&lt;/div&gt;
&lt;!-- fin affichage des blocs --&gt;


&lt;!-- Affichage de la pagination --&gt;

&lt;?php
    ############################
    # Affichage de la pagination
    ############################
?&gt;
&lt;nav&gt;
    &lt;ul class="pagination text-center center bordered"&gt;
        &lt;!-- Lien vers la page précédente (si on ne se trouve pas sur la 1ère page) --&gt;
        &lt;?= ($currentPage &gt; 1)  ? "&lt;li class=\\"page-item\\" &gt;&lt;a href=\\"".$link . $currentPage - 1 ."\\" class=\\"page-link\\"&gt;".L_PAGINATION_PREVIOUS."&lt;/a&gt;&lt;/li&gt;" : "" ?&gt;

        &lt;?php if($intermediaire == true)  {
        for($page = 1; $page &lt;= $pages; $page++) {
          # Lien vers chacune des pages (activé si on se trouve sur la page correspondante)
          echo '&lt;li class="page-item ';
          if($currentPage == $page)  echo 'active';
          echo '"&gt;&lt;a href="'.$link.$page .'" class="page-link"&gt;'.$page.'&lt;/a&gt;&lt;/li&gt;';
            }
        }
        else {
         echo "&lt;li class=\\"page-item page-link  active \\"&gt;
                ".$currentPage." / ". $nbr."
            &lt;/li&gt;"; 

        }   ?&gt;
          &lt;!-- Lien vers la page suivante (si on ne se trouve pas sur la dernière page) --&gt;
         &lt;?= ($currentPage &lt; $pages) ? " &lt;li class=\\"page-item\\"&gt;&lt;a href=\\"".$link.$currentPage + 1 ."\\" class=\\"page-link\\"&gt;".L_PAGINATION_NEXT."&lt;/a&gt;&lt;/li&gt;" : "" ?&gt;

    &lt;/ul&gt;
&lt;/nav&gt;
</code></pre>

<p>Script à copier/coller dans une page statique depuis l'administration de PluXml .<br />
Les symboles &#92;  sont doublés pour  être préservés à l'enregistrement.</p>

<p>Aspect de la barre de pagination selon la configuration choisie (dans le thème par défaut): <img src="https://pluxopolis.net/data/pagination.jpg" alt="" title="" /></p>

<p>Les contenus à paginer sont à inclure dans un tableau (voir et remplacer l'exemple inclus), c'est la seule difficulté qu'il peut y avoir. attention aux typos et a doubler / échapper les &#92; avant enregistrement pour les préserver.</p>

<p>Compatible avec  la réécriture d'URL  et  le plugin MyBetterUrl .</p>
]]>
        </description>
    </item>
    <item>
        <title>[résolu][plugins] plugin et hook à partir d'un thème sans passer par la case installation.</title>
        <link>https://forum.pluxml.org/index.php?p=/discussion/7366/resolu-plugins-plugin-et-hook-a-partir-dun-theme-sans-passer-par-la-case-installation</link>
        <pubDate>Thu, 16 Feb 2023 21:54:01 +0000</pubDate>
        <category>Entraide</category>
        <dc:creator>gcyrillus-nomade</dc:creator>
        <guid isPermaLink="false">7366@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Bonjour,</p>

<p>Quelle serait la méthode pour ajouter un plugin "<sup>virtuel ou non</sup>"  à la liste des plugins actifs de Pluxml  à partir d'un template du thème actif ou d'une page statique pour un usage ponctuel ?</p>

<p>L'idée ici est par exemple de se servir du hook <code>plxShowPagination</code> de façon à pouvoir remplacer la structure HTML produite par la fonction $plxShow-&gt;pagination() .</p>

<p>Cela permettrais par exemple d'utiliser des snippet HTML de framework tel que bootstrap (structure ou class) ,  utiliser les icones de fontawesome à la place du code servit par PluXml et uniquement pour un thème donné.</p>

<p>Cette fonction ne dispose pas d'une variable $format comme on peut trouver dans d'autre fonction mais elle dispose d'un hook <img src="https://forum.pluxml.org/plugins/emojiextender/emoji/twitter/smile.png" title=":)" alt=":)" height="18" /></p>

<p>Pour le moment j'ai  <code>$plxShow-&gt;plxMotor-&gt;plxPlugins-&gt;aHooks['plxShowPagination'][] =  array( 'class' =&gt; 'MyTheme', 'method' =&gt; 'plxShowPagination');</code>  qui ne me sert pas à grand chose .  La class Mytheme n'existe pas et elle devrait quand même être construite sur plxPlugin. Suffirait-il de la créer dans un fichier annexe au thème et de l'inclure au chargement de la page ?</p>

<p>Cdt</p>
]]>
        </description>
    </item>
    <item>
        <title>[resolu] pagination du contenu via $_POST ou $_GET</title>
        <link>https://forum.pluxml.org/index.php?p=/discussion/7357/resolu-pagination-du-contenu-via-post-ou-get</link>
        <pubDate>Sat, 04 Feb 2023 15:16:27 +0000</pubDate>
        <category>Entraide</category>
        <dc:creator>gcyrillus-nomade</dc:creator>
        <guid isPermaLink="false">7357@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Bonjour,</p>

<p>Quelqu'un a t-il l'astuce pour passer une variable en $_POST ou $_GET  dans une page statique à elle même ?<br />
L'idée est de faire une pagination .</p>

<p>Pour le moment , j'utilise un cookie, initialisé via javascript puis lu via PHP en me servant d'un select. Ce n'est pas des plus sexy, mais c'est fonctionnel si cookies okay <img src="https://forum.pluxml.org/plugins/emojiextender/emoji/twitter/smile.png" title=":)" alt=":)" height="18" /></p>

<p>Ses deux variables sont traités et nettoyés en amont de l'affichage, sont-ils accessible via un hook au travers d'une page statique ou cela est déjà trop tard dans le processus de traitement?</p>

<p>Cdt</p>
]]>
        </description>
    </item>
    <item>
        <title>Article en solo</title>
        <link>https://forum.pluxml.org/index.php?p=/discussion/6935/article-en-solo</link>
        <pubDate>Sun, 28 Mar 2021 05:10:00 +0000</pubDate>
        <category>Entraide</category>
        <dc:creator>BB64600</dc:creator>
        <guid isPermaLink="false">6935@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Bonjour<br />
Petit nouveau sur ce forum, je découvre PLUXML, malgré mes recherches sur le net je bloque sur un point.<br />
Je souhaiterai mettre en place une pagination des articles comme sur ce forum avec un seul article affiché (dans sa totalité ) par page et accéder aux autre articles grâce a la pagination.</p>

<p>Pour être plus clair  je vous met le lien du blog réalisé sur wordpress, je souhaiterai refaire la même chose sur PLUXML.<br />
<a href="https://www.menuiserie-menplast.fr/blog/" rel="nofollow">https://www.menuiserie-menplast.fr/blog/</a></p>

<p>Est ce possible ?  Comment y parvenir ?<br />
Merci<br />
Prenez bien soin de vous</p>
]]>
        </description>
    </item>
   </channel>
</rss>
