Allgemein und insbesondere bei schmalen Layouts kann der Pager, wenn er viele Seiten zu zählen hat, zu breit werden. 2 Möglichkeiten bieten sich an. Jede für sich oder in Kombination.
Die deutsche Übersetzung der Pager-Navigationselemente ändern.
Die Anzahl der vom Pager verwendeten Digits, im Normalfall sind es 9, reduzieren.
Um dies zu erreichen wird die Ausgabe des Pager wie folgt verändert.
Je nach Drupalversion holt man sich den Pager-Code.
Pager-Code Drupal 5: theme_pager [1]
Pager-Code Drupal 6: theme_pager [2]
Als Nächstes wird in der Datei "template.php" des aktuellen Themes eine zusätzliche Funktion, basierend auf dem theme_pager Code eingefügt. Dabei ist der Name der Funktion theme_pager() mit dem Namen des aktuellen Themes anzupassen! Also my_theme_name_pager().
Als Beispiel für Drupal 5 wird in der "template.php" folgender Code eingefügt:
function my_theme_name_pager($tags = array(), $limit = 10, $element = 0, $parameters = array()) {
global $pager_total;
$output = '';
if ($pager_total[$element] > 1) {
$output .= '<div class="pager">';
$output .= theme('pager_first', ($tags[0] ? $tags[0] : t('« first')), $limit, $element, $parameters);
$output .= theme('pager_previous', ($tags[1] ? $tags[1] : t('‹ previous')), $limit, $element, 1, $parameters);
$output .= theme('pager_list', $limit, $element, ($tags[2] ? $tags[2] : 9 ), '', $parameters);
$output .= theme('pager_next', ($tags[3] ? $tags[3] : t('next ›')), $limit, $element, 1, $parameters);
$output .= theme('pager_last', ($tags[4] ? $tags[4] : t('last »')), $limit, $element, $parameters);
$output .= '</div>';
return $output;
}
}
Um die Anzahl der Pager-Digits zu ändern wird der Wert 9 in der Funktionszeile angepasst. Im Falle von 3 Digits so:
$output .= theme('pager_list', $limit, $element, ($tags[2] ? $tags[2] : 3 ), '', $parameters);
Im Falle von Drupal 6 wir diese Zeile geändert:
function my_theme_name_pager($tags = array(), $limit = 10, $element = 0, $parameters = array(), $quantity = 3)
Geändert wird der Wert von $quantity.
Wichtig bei Drupal 6 ist noch das Leeren des Theme-Cache unter admin/settings/performance, damit der veränderte Pager verwendet wird.
Links:
[1] http://api.drupal.org/api/function/theme_pager/5
[2] http://api.drupal.org/api/function/theme_pager