Warning: UPDATE command denied to user 'michelon01'@'10.0.126.106' for table 'drupal_cache' query: UPDATE drupal_cache SET data = 'a:448:{s:13:\"theme_default\";s:7:\"garland\";s:13:\"filter_html_1\";i:1;s:18:\"node_options_forum\";a:1:{i:0;s:6:\"status\";}s:17:\"menu_primary_menu\";i:2;s:19:\"menu_secondary_menu\";i:2;s:15:\"install_profile\";s:7:\"default\";s:17:\"node_options_page\";a:1:{i:0;s:6:\"status\";}s:12:\"comment_page\";s:1:\"0\";s:18:\"drupal_private_key\";s:64:\"b4e640288de05f522bbe6b032bdd5e965244625713cbf8cf2021d99f2fe3072a\";s:19:\"file_directory_temp\";s:9:\"files/tmp\";s:19:\"file_directory_path\";s:5:\"files\";s:14:\"file_downloads\";s:1:\"1\";s:21:\"date_default_timezone\";s:4:\"7200\";s:22:\"configurable_timezones\";s:1:\" in /home/michelon/www/olivier/blog/includes/database.mysql.inc on line 174

Warning: Cannot modify header information - headers already sent by (output started at /home/michelon/www/olivier/blog/includes/database.mysql.inc:174) in /home/michelon/www/olivier/blog/includes/bootstrap.inc on line 569

Warning: Cannot modify header information - headers already sent by (output started at /home/michelon/www/olivier/blog/includes/database.mysql.inc:174) in /home/michelon/www/olivier/blog/includes/bootstrap.inc on line 570

Warning: Cannot modify header information - headers already sent by (output started at /home/michelon/www/olivier/blog/includes/database.mysql.inc:174) in /home/michelon/www/olivier/blog/includes/bootstrap.inc on line 571

Warning: Cannot modify header information - headers already sent by (output started at /home/michelon/www/olivier/blog/includes/database.mysql.inc:174) in /home/michelon/www/olivier/blog/includes/bootstrap.inc on line 572

Warning: INSERT command denied to user 'michelon01'@'10.0.126.106' for table 'drupal_watchdog' query: INSERT INTO drupal_watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '<em>Cannot modify header information - headers already sent by (output started at /home/michelon/www/olivier/blog/includes/database.mysql.inc:174)</em> in <em>/home/michelon/www/olivier/blog/includes/common.inc</em> on line <em>141</em>.', 2, '', 'http://olivier.michelon.me/blog/?q=article/drupal-paginer-un-contenu-avec-les-fonctions-natives', '', '23.20.147.6', 1495702171) in /home/michelon/www/olivier/blog/includes/database.mysql.inc on line 174

Warning: INSERT command denied to user 'michelon01'@'10.0.126.106' for table 'drupal_watchdog' query: INSERT INTO drupal_watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '<em>UPDATE command denied to user &amp;#039;michelon01&amp;#039;@&amp;#039;10.0.126.106&amp;#039; for table &amp;#039;drupal_cache_browscap&amp;#039;\nquery: UPDATE drupal_cache_browscap SET data = &amp;#039;O:8:\\&amp;quot;stdClass\\&amp;quot;:2:{s:9:\\&amp;quot;useragent\\&amp;quot;;s:1:\\&amp;quot;%\\&amp;quot;;s:4:\\&amp;quot;data\\&amp;quot;;s:609:\\&amp;quot;a:25:{s:7:\\&amp;quot;browser\\&amp;quot;;s:15:\\&amp;quot;Default Browser\\&amp;quot;;s:7:\\&amp;quot;version\\&amp;quot;;s:1:\\&amp;quot;0\\&amp;quot;;s:8:\\&amp;quot;majorver\\&amp;quot;;s:1:\\&amp;quot;0\\&amp;quot;;s:8:\\&amp;quot;minorver\\&amp;quot;;s:1:\\&a in /home/michelon/www/olivier/blog/includes/database.mysql.inc on line 174
Drupal : Paginer un contenu avec les fonctions natives | MICHBlog

Drupal : Paginer un contenu avec les fonctions natives

  • warning: Cannot modify header information - headers already sent by (output started at /home/michelon/www/olivier/blog/includes/database.mysql.inc:174) in /home/michelon/www/olivier/blog/includes/common.inc on line 141.
  • user warning: UPDATE command denied to user 'michelon01'@'10.0.126.106' for table 'drupal_cache_browscap' query: UPDATE drupal_cache_browscap SET data = 'O:8:\"stdClass\":2:{s:9:\"useragent\";s:1:\"%\";s:4:\"data\";s:609:\"a:25:{s:7:\"browser\";s:15:\"Default Browser\";s:7:\"version\";s:1:\"0\";s:8:\"majorver\";s:1:\"0\";s:8:\"minorver\";s:1:\"0\";s:8:\"platform\";s:7:\"unknown\";s:5:\"alpha\";s:0:\"\";s:4:\"beta\";s:0:\"\";s:5:\"win16\";s:0:\"\";s:5:\"win32\";s:0:\"\";s:5:\"win64\";s:0:\"\";s:6:\"frames\";s:0:\"\";s:7:\"iframes\";s:0:\"\";s:6:\"tables\";s:0:\"\";s:7:\"cookies\";s:0:\"\";s:16:\"backgroundsounds\";s:0:\"\";s:10:\"javascript\";s:0:\"\";s:8:\"vbscript\";s:0:\"\";s:11:\"javaapplets\";s:0:\"\";s:15:\"activexcontrols\";s:0:\"\";s:8:\"isbanned\";s:0:\"\";s:14:\"ismobiledevice\";s:0:\"\";s:19:\"issyndicationreader\";s:0:\"\";s:7:\"crawler\";s:0:\"\";s:10:\"cssversion\";s:1:\"0\";s:10:\"aolversion\";s:1:\"0\";}\";}', created = 1495702171, expire = 0, headers = '' WHERE cid = 'CCBot/2.0 (http://commoncrawl.org/faq/)' in /home/michelon/www/olivier/blog/includes/database.mysql.inc on line 174.

Par défaut, Drupal propose un très bon système de pagination (celui par exemple proposé sur la page d'accueil). Mais il n'offre aucune interface d'utilisation. Ce qui est contraignant lorsqu'on édite un long contenu.

Il existe des modules pour palier le problème (Paging ou Custom Pagers) mais il est possible avec quelques connaissances PHP d'utiliser le système natif!

Voici un exemple simple. Celui ci va vous afficher toutes les entrées de blog à raison de 5 par page. Pour cela, éditer une Page Drupal en "full PHP" avec ce qui suit:

<?php
    $sql = "SELECT * FROM {node} n WHERE type = 'blog' AND status = 1 ORDER BY n.created DESC";
    $result = pager_query(db_rewrite_sql($sql), 5);
    while ($data = db_fetch_object($result)) {
        $node = node_load($data->nid);
        print node_view($node, TRUE);
    }
    print theme('pager', NULL, 5);
?>

Les fonctions  pager_query et theme('pager',... communiquent et s'entendent entre elles avec des variables globales. Plus d'information dans "\includes\pager.inc".

Simple et intéressant non?

J'en profite aussi pour mettre à jour le Post "Ajouter le module Lightbox2 à une gallerie d'images créée avec le module Image" avec l'ajout d'un système de pagination!

Commentaires

Poster un nouveau commentaire

Le contenu de ce champ ne sera pas montré publiquement.
Image CAPTCHA
Entrez les caractères affichés sur l'image sans espaces.
Syndiquer le contenu

Warning: INSERT command denied to user 'michelon01'@'10.0.126.106' for table 'drupal_watchdog' query: INSERT INTO drupal_watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '<em>UPDATE command denied to user &amp;#039;michelon01&amp;#039;@&amp;#039;10.0.126.106&amp;#039; for table &amp;#039;drupal_node_counter&amp;#039;\nquery: UPDATE drupal_node_counter SET daycount = daycount + 1, totalcount = totalcount + 1, timestamp = 1495702171 WHERE nid = 128</em> dans <em>/home/michelon/www/olivier/blog/includes/database.mysql.inc</em> à la ligne <em>174</em>.', 2, '', 'http://olivier.michelon.me/blog/?q=article/drupal-paginer-un-contenu-avec-les-fonctions-natives', '', '23.20.147.6', 1495702171) in /home/michelon/www/olivier/blog/includes/database.mysql.inc on line 174

Warning: INSERT command denied to user 'michelon01'@'10.0.126.106' for table 'drupal_watchdog' query: INSERT INTO drupal_watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '<em>INSERT command denied to user &amp;#039;michelon01&amp;#039;@&amp;#039;10.0.126.106&amp;#039; for table &amp;#039;drupal_accesslog&amp;#039;\nquery: INSERT INTO drupal_accesslog (title, path, url, hostname, uid, sid, timer, timestamp) values(&amp;#039;Drupal : Paginer un contenu avec les fonctions natives&amp;#039;, &amp;#039;node/128&amp;#039;, &amp;#039;&amp;#039;, &amp;#039;23.20.147.6&amp;#039;, 0, &amp;#039;e16ec3d046b23411f38784f01a2f2452&amp;#039;, 162, 1495702171)</em> dans <em>/home/michelon/www/olivier/blog/includes/database.mysql.inc</em> à la ligne <em>174</em>.', 2, '', 'http://olivier.michelon.me/blog/?q=article/dru in /home/michelon/www/olivier/blog/includes/database.mysql.inc on line 174

Warning: INSERT command denied to user 'michelon01'@'10.0.126.106' for table 'drupal_watchdog' query: INSERT INTO drupal_watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '<em>UPDATE command denied to user &amp;#039;michelon01&amp;#039;@&amp;#039;10.0.126.106&amp;#039; for table &amp;#039;drupal_sessions&amp;#039;\nquery: UPDATE drupal_sessions SET uid = 0, cache = 0, hostname = &amp;#039;23.20.147.6&amp;#039;, session = &amp;#039;image_captcha|a:1:{i:147172001;s:5:\\&amp;quot;2GhTP\\&amp;quot;;}captcha|a:1:{s:12:\\&amp;quot;comment_form\\&amp;quot;;a:2:{s:32:\\&amp;quot;9bac58c23c0a8a08a26027180f668259\\&amp;quot;;s:5:\\&amp;quot;2ghtp\\&amp;quot;;s:7:\\&amp;quot;success\\&amp;quot;;b:0;}}messages|a:1:{s:5:\\&amp;quot;error\\&amp;quot;;a:2:{i:0;s:340:\\&amp;quot;user warning: UPDATE command denied to user &amp;amp;#039;mich in /home/michelon/www/olivier/blog/includes/database.mysql.inc on line 174