2010-02-16 3 views
2

J'ai une galerie d'images dans un site Drupal qui utilise le module 'Image Gallery' (assez marrant ...). Il y a un système standard de pagination « vues » qui décompose les pages de la galerie en morceaux maniables, et qui en même temps limite le nombre de liens de page affichés (indiquée par des ellipses), par exemple:Modifier la pagination Drupal Views pour restreindre les numéros de page affichés

<<first <previous ... 3 4 5 6 7 8 9 10 11 ... next> last>> 

Ainsi, au moment, il y a toujours neuf liens de page montrés. Fondamentalement, je veux savoir comment modifier ce donc il y a (par exemple), seuls cinq liens au:

<<first <previous ... 6 7 8 9 10 ... next> last>> 

Je devine que il y a un peu de PHP dans le code du module qui gère, mais Je déteste aller tripoter sans savoir ce que je fais!

Cheers, James

Répondre

4

Si vous êtes heureux avec le piratage de base et ce qui en fait un changement global sur votre site le plus rapide est de modifier includes/pager.inc et modifiez la valeur par défaut de la quantité de $ à la nombre que vous voulez.

Il y a une manière correcte de faire ceci aussi bien en utilisant votre propre fonction de thème, si j'obtiens une chance je posterai un comment pour cela aussi.

+0

Grand. Je serais intéressé de connaître l'autre façon de le faire, mais c'est très bien pour l'instant! – james6848

+1

"noyau de piratage?" Chaton tueur! :) Sérieusement, il y a TRÈS TRÈS peu de problèmes (s'il en est, aucun ne vient à l'esprit en ce moment) où vous auriez besoin de modifier les fichiers de base ... ah oui, il y en a un (mise à jour vers la prochaine version - rofl). Cependant, les surcharger comme indiqué par @antoyo, était bien fait - j'ai inclus un lien vers d'autres exemples ci-dessous aussi (mais puttin lien ici aussi - pour vous ADHD'rs qui ne veulent pas défiler vers le bas - http: // api. drupal.org/api/drupal/includes%21pager.inc/function/theme_pager/6). –

6

il vous suffit de surcharger theme_pager() dans votre thème, comme celui-ci:

function your_module_pager($tags = array(), $limit = 10, $element = 0, $parameters = array(), $quantity = 9) { 
    return theme_pager($tags, $limit, $element, $parameters, 5); 
} 
+0

Quelques bons exemples (plus élaborés) sont ici ... http://api.drupal.org/api/drupal/includes%21pager.inc/function/theme_pager/6. Bien joué - propre et simple :) J'aime comment vous l'avez juste surchargé contre la copie de toute la fonction! Bien fait @antoyo. –

2

(Drupal 7) Pour ce faire, sans le piratage noyau, copiez la fonction theme_pager de pager.inc. Placez-le dans votre fichier template.php, en remplaçant "theme" par le nom de votre thème, ainsi le nom de la fonction devient exampleThemeName_pager, par exemple. Réglez ensuite la variable $ quantity sur le nombre de pages que vous souhaitez afficher.

Questions connexes