[Spip-es]dos preguntas sobre paginación

From : esranxer@... , the 7th January 2006 18:45
  • 2006-01-07 18:45:48 — esranxer@... - [Spip-es]dos preguntas sobre paginación

He introducido una paginación en mi web basándome en el script y bucle  definidos en: http://www.spip-contrib.net/Pagination,663 Sin embargo, dicha  paginación- que funciona correctamente -no proporciona la poibilidad de  ir a las páginas "anterior" y "siguiente". Se trata de efectuar algún  cambio en el script, pero mis conocimientos limitados de php  no me han  permitido, aunque lo he intentado, averiguar de qué manera he de  hacerlo. ¿Alguien me lo puede indicar? (el script se adjunta al final) Otra cuestión, quizás algo más complicada, es que en un bucle de  artículos sindicados quiero que dichos artículos aparezcan de 2 en 2  para cada uno de los sitios sindicados (es decir 2 artículos del primer  sitio, después 2 del segundo sitio, 2 del tercero, etc.) Esto ya está  hecho sin problemas, pero a la hora de efectuar la paginación el script  la efectúa tomando el total de artículos del bucle, que incluye todos  los sitios sindicados, con lo cual "sobredimensiona" de manera exagerada  el número de páginas necesarias (porque la paginación se efectúa de 2 en  2, pero la aparición de artículos ocurre realmente de 6 en 6, de 8 en 8,  etc. según el número de sitios sindicados, a razón de 2*nº de sitios).  Esto se podría solventar tomando un valor #TOTAL_BOUCLE que  correspondiera al del sitio sindicado con mayor número de artículos; con  un script para obtener el valor máximo se podría almacenar éste en una  variable. La cuestion es: ¿cómo puedo posteriormente pasar dicho valor  al filtro "pagination"? Posiblemente en mi ignorancia esté complicando  las cosas innecesariamente... De forma que si alguien sabe contestar a  la pregunta tal como está formulada o darme una alternativa más sencilla  quedaré agradecido. Transcribo a continuación el bucle de paginación, el correspondiente  script y finalmente el bucle tal como se inserta en mi web: [(#TOTAL_BOUCLE|pagination{debut_page,10})] ******************************************************************** ******************************************************************** ********************************************************************  +----------------------------------+  *    Nom du Filtre :     pagination                                                *   +----------------------------------+  *    Date : dimanche 22 août 2004  *    Auteur :  James (klikefree.fr)  *   +-------------------------------------+  *    Fonctions de ce filtre :  *     affiche la liste des pages d'une boucle contenant  *     un critère de limite du type {debut_xxx, yyy}  *   +-------------------------------------+  *   * Pour toute suggestion, remarque, proposition d'ajout  * reportez-vous au forum de l'article :  * http://www.uzine.net/spip_contrib/article.php3?id_article=663 */ function pagination($total, $position=0, $pas=1, $fonction='') {   global $clean_link;   global $pagination_item_avant, $pagination_item_apres,  $pagination_separateur;   tester_variable('pagination_separateur', ' | ');   if (ereg('^debut([-_a-zA-Z0-9]+)$', $position, $match)) {     $debut_lim = "debut".$match[1];     $position = intval($GLOBALS['HTTP_GET_VARS'][$debut_lim]);   }   $nombre_pages = floor(($total-1)/$pas)+1;   $texte = '';   if($nombre_pages>1) {     $i = 0;     while($idelVar($debut_lim);       $clean_link->addVar($debut_lim, strval($i*$pas));       $url = $clean_link->getUrl();       if(function_exists($fonction)) $item = call_user_func($fonction,  $i+1);       else $item = strval($i+1);       if(($i*$pas) != $position) {         if(function_exists('lien_pagination')) $item =  lien_pagination($url, $item, $i+1);         else $item = "".$item."";       }       $texte .= $pagination_item_avant.$item.$pagination_item_apres;       if($idelVar($debut_lim);     if($position) $clean_link->addVar($debut_lim, $position);      return $texte;   }   return ''; } // FIN du Filtre pagination                                                         [(#DATE|nom_jour|majuscules)]                 [(#DATE|jour)] [(#DATE|nom_mois|majuscules)]                 [(#DATE|annee)]          [(#NOM_SITE)]          [(#TITRE*)]                                 ***************************************************************************************** ***************************************************************************************** *****************************************************************************************                                                           [(#DATE|nom_jour|majuscules)]                 [(#DATE|jour)] [(#DATE|nom_mois|majuscules)]                 [(#DATE|annee)]          [(#NOM_SITE)]          [(#TITRE*)]                                                                                                                                               [(#TOTAL_BOUCLE|pagination{debut_p,2})]                                                                                            Gracias anticipadas por las posibles respuestas Miquel Garcia