Submitted by drupal974 on
Bonjour à tous,
Ma pagination en bas de page ressemble à ça [<<][<]1 2 3 4 5 6 7 8 9 10 11 ... 90 91 [>][>>]
Le problème est que j'ai trop de chiffres affiché et que l'affichage de la pagination est sur 2 et dés fois 3 lignes.
J'aimerai juste que la pagination des chiffres s'affiche sur 4 chiffres maximum : 1 2 ... 90 91
Comment faire ça svp ?
Tu vas dans le dossier
Permalien Soumis par 1baraki le 11 Juillet, 2010 - 16:55
Tu vas dans le dossier "includes" > "pager.inc" et tu cherches la variable "$quantity" là tu met "4" et ça devrait fonctionner.
Excellent, ça marche ! Merci
Permalien Soumis par drupal974 le 11 Juillet, 2010 - 23:39
Excellent, ça marche ! Merci beaucoup ami de moi ! Une dernière chose, il n'y a pas moyen d'appeler cette fonction moi-même afin de ne pas modifier le core (et éviter les oublis lors des maj) ?
Est-ce la meilleur solution ?
Permalien Soumis par T-MaK le 12 Juillet, 2010 - 10:17
Est-ce la meilleur solution? Je pense qu'à la prochaine mise à jour de drupal, cela va suater et il faudra refaire le changement. N'est-il pas plus simple et conforme de passer par la fonction theme_pager (http://api.drupal.org/api/function/theme_pager/6) dans le template.tpl.php du thème?
Bonjour et merci de ta
Permalien Soumis par drupal974 le 12 Juillet, 2010 - 10:35
Bonjour et merci de ta réponse. Mais comment utiliser cette fonction dans le template.php ? Je ne vois pas comment l'appeler et surtout quels paramètres lui passer (hormis $quantity). Un petit exemple serait bienvenue.
Merci d'avance
Tu peux copié la fonction
Permalien Soumis par T-MaK le 12 Juillet, 2010 - 10:48
Tu peux copié la fonction entière de Drupal API (le lien que je t'ai mis) dans ton template.php de ton thème en remplaçant theme_apger par le nom de ton thème (exemple : zen_pager) et tu changes $quantity à ta convenance.
re, merci encore de cette
Permalien Soumis par drupal974 le 12 Juillet, 2010 - 11:02
re, merci encore de cette réponse. Cependant ça ne fonctionne pas. J'ai bien bien dans template.php 'montheme_pager(..)' ou 'montheme_theme_pager' ou theme_pager() (quel domage que drupal ne soit pas écrit en objet, sinon ça aurait fonctionné). Mais ma fonction pager() est ignoré.
Du coup, je ne sais pas comment appeler la fonction de theme_...() dans template.php. Une idée ?
Bon voici par exemple un
Permalien Soumis par T-MaK le 12 Juillet, 2010 - 11:16
Bon voici par exemple un theme_pager revisité pour modifier le type de pagination
function ludo_pager($tags = array(), $limit = 10, $element = 0, $parameters = array(), $quantity = 5) {
global $pager_page_array, $pager_total;
$tags = array("<<", "", "", "", ">>");
// Calculate various markers within this pager piece:
// Middle is used to "center" pages around the current page.
$pager_middle = ceil($quantity / 2);
// current is the page we are currently paged to
$pager_current = $pager_page_array[$element] + 1;
// first is the first page listed by this pager piece (re quantity)
$pager_first = $pager_current - $pager_middle + 1;
// last is the last page listed by this pager piece (re quantity)
$pager_last = $pager_current + $quantity - $pager_middle;
// max is the maximum page number
$pager_max = $pager_total[$element];
// End of marker calculations.
// Prepare for generation loop.
$i = $pager_first;
if ($pager_last > $pager_max) {
// Adjust "center" if at end of query.
$i = $i + ($pager_max - $pager_last);
$pager_last = $pager_max;
}
if ($i <= 0) {
// Adjust "center" if at start of query.
$pager_last = $pager_last + (1 - $i);
$i = 1;
}
// End of generation loop preparation.
$li_first = theme('pager_first', (isset($tags[0]) ? $tags[0] : t('<<')), $limit, $element, $parameters);
$li_last = theme('pager_last', (isset($tags[4]) ? $tags[4] : t('>>')), $limit, $element, $parameters);
if ($pager_total[$element] > 1) {
if ($li_first) {
$items[] = array(
'class' => 'pager-first',
'data' => $li_first,
);
}
// When there is more than one page, create the pager list.
if ($i != $pager_max) {
// Now generate the actual pager piece.
for (; $i <= $pager_last && $i <= $pager_max; $i++) {
if ($i < $pager_current) {
if ($pager_first > 1 && $i == $pager_first) {
$output = ''.$i;
$stopPreEllipsis = true;
} else {
$output = $i;
}
$items[] = array(
'class' => 'pager-item',
'data' => theme('pager_previous', $output, $limit, $element, ($pager_current - $i), $parameters),
);
}
if ($i == $pager_current) {
$items[] = array(
'class' => 'pager-current',
'data' => $i,
);
}
if ($i > $pager_current) {
if ($pager_last < $pager_max && $i == $pager_last) {
$output = $i.'';
} else {
$output = $i;
}
$items[] = array(
'class' => 'pager-item',
'data' => theme('pager_next', $output, $limit, $element, ($i - $pager_current), $parameters),
);
}
}
}
// End generation.
if ($li_last) {
$items[] = array(
'class' => 'pager-last',
'data' => $li_last,
);
}
return theme('item_list', $items, NULL, 'ul', array('class' => 'pager'));
}
}
Ce code est bien dans le template.php de mon thème activé et marche parfaitement.
Regardes si tu n'as pas oublié quelque chose.
C’est étrange, ça ne
Permalien Soumis par drupal974 le 12 Juillet, 2010 - 13:10
C'est étrange, ça ne fonctionne pas. Pourtant je comprends bien le principe de surcharger une fonction thème. En fait, j'ai fait simple, j'ai écris une fonction pour être sûr que ça ne fonctionne pas de ce type
function montheme_pager($tags = array(), $limit = 10, $element = 0, $parameters = array(), $quantity = 5) {exit;}
Mais je ne passe jamais dans le exit.
C'est vraiment étrange car dans mon template.php j'ai des fonctions surcharger. Je pense que ce sera dur de m'aider à distance à ce niveau. Mais si tu as une idée, je suis preneur.
Je vais continuer à faire des tests
Là j’avoue que je reste
Permalien Soumis par T-MaK le 12 Juillet, 2010 - 14:18
Là j'avoue que je reste perplexe et c'est vrai qu'à distance jpeux pas faire grand chose désolé :s
Bonjour, je sollicite changer
Permalien Soumis par patlefourbe le 12 Juillet, 2010 - 16:15
Bonjour,
je sollicite changer la couleur des chiffres de ma partition mais je ne trouve pas ou aller !! pourrait tu m aider ? merci d'avance
bonjour, Qu’entends-tu par
Permalien Soumis par T-MaK le 12 Juillet, 2010 - 17:10
bonjour,
Qu'entends-tu par partition? C'est la pagination? Si oui alors le CSS est là pour ça :) sinon reformules ta question parce que j'ai rien compris lol
oui il j ai pas fait
Permalien Soumis par patlefourbe le 12 Juillet, 2010 - 17:18
oui il j ai pas fait attention il s agit bien de la pagination autant pour moi et désoler ;)
Pas de soucis :) donc c’est
Permalien Soumis par T-MaK le 12 Juillet, 2010 - 17:30
Pas de soucis :) donc c'est bien en CSS que tous ce passent.
j’ai parcouru tous le CSS,
Permalien Soumis par patlefourbe le 12 Juillet, 2010 - 17:40
j'ai parcouru tous le CSS, mais je ne voit pas a ou effectuer le changement !!
j'ai le meme soucci pour changer la couleur des lien utilisateur de mes modérateurs dans les articles ou commentaire ;)je te remerci de ton aide :)
Regarde avec firebug les
Permalien Soumis par T-MaK le 12 Juillet, 2010 - 17:47
Regarde avec firebug les élements à changer et dans le style.css de ton thème tu rajout à la fin ce que tu veux. Pour ton 2e soucis il va falloir être plus précis :)
EDIT : Fait un nouveau post pour ton 2e soucis, parce que là on va polluer ce post...
Ok je vais voir sa , je te
Permalien Soumis par patlefourbe le 12 Juillet, 2010 - 17:54
Ok je vais voir sa , je te remercie de ton attention et de ton aide :)
j'ai d'ja poster un autre poste pour mon second soucci
Encore merci pour tous
N’oublie pas de vide ton
Permalien Soumis par Gwen le 12 Juillet, 2010 - 15:03
N'oublie pas de vide ton cache quand tu travailles sur ton thèmes, ça met déjà arrivé ce genre de problème.
Bravo !!! C’était le cache
Permalien Soumis par drupal974 le 12 Juillet, 2010 - 22:58
Bravo !!! C'était le cache que je devais vider ! C'est rationnel en plus !
Un petit [résolu] dans le
Permalien Soumis par Gwen le 13 Juillet, 2010 - 08:05
Un petit [résolu] dans le titre ca serait sympa.
Je ne peux pas éditer le
Permalien Soumis par drupal974 le 13 Juillet, 2010 - 11:34
Je ne peux pas éditer le titre...