Seite 1 von 1

"Gehe zu Seite" erweitern um X Seiten.

Verfasst: 27.11.2005 15:15
von sts
Hallo,

ich möchte gerne statt
Gehe zu Seite 1, 2, 3 ... 89, 90, 91
angezeigt bekommen
Gehe zu Seite 1, 2, 3, 4, 5, 6, 7, 8, 9, ... 90, 91
also werden die ersten 10 Seiten angezeigt.

Gibt es soetwas schon?

Verfasst: 28.11.2005 21:22
von sts
Nach oben mit dem Beitrag...

Verfasst: 29.11.2005 20:41
von sts
[ externes Bild ]
Und nochmal hoch mit dem Beitrag....

Verfasst: 13.12.2005 03:12
von sts
Juhu und nochmal nach oben..

Verfasst: 13.12.2005 07:49
von Dr.Death
Die Funktion dazu findest du in der "includes / functions.php"

Suche mal nach:

function generate_pagination

Dort sind verschiedene Werte enthalten.
Besonderes Augenmerk auf die Ziffer 3 und Ziffer 5 legen.

Die legen fest wieviel Seiten nacheinander angezeigt werden.
Ab "10 Seiten" und mehr wird nach "5 Seiten" noch ein "..." eingefügt.

Viel Spaß beim experimentieren :-)

Verfasst: 13.12.2005 10:15
von Roland
dr.death hat geschrieben:Viel Spaß beim experimentieren :-)
...hehe, in der Tat. :D
Ich hab's 'mal ausprobiert:

Suche (in includes/functions.php)

Code: Alles auswählen

$init_page_max = ( $total_pages > 3 ) ? 3 : $total_pages;

		for($i = 1; $i < $init_page_max + 1; $i++)
		{
			$page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "&start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>';
			if ( $i <  $init_page_max )
			{
				$page_string .= ", ";
			}
		}

		if ( $total_pages > 3 )
		{
			if ( $on_page > 1  && $on_page < $total_pages )
			{
				$page_string .= ( $on_page > 5 ) ? ' ... ' : ', ';

				$init_page_min = ( $on_page > 4 ) ? $on_page : 5;
				$init_page_max = ( $on_page < $total_pages - 4 ) ? $on_page : $total_pages - 4;
und ersetze es mit

Code: Alles auswählen

$init_page_max = ( $total_pages > 10 ) ? 10 : $total_pages;

		for($i = 1; $i < $init_page_max + 1; $i++)
		{
			$page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "&start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>';
			if ( $i <  $init_page_max )
			{
				$page_string .= ", ";
			}
		}

		if ( $total_pages > 3 )
		{
			if ( $on_page > 1  && $on_page < $total_pages )
			{
				$page_string .= ( $on_page > 12 ) ? ' ... ' : ', ';

				$init_page_min = ( $on_page > 11 ) ? $on_page : 12;
				$init_page_max = ( $on_page < $total_pages - 4 ) ? $on_page : $total_pages - 4;
Gilt so natürlich nur, wenn Du genau 10 Seiten aufzählen willst... ansonsten muss man die Werte 10, 11 und 12 nochmal entsprechend anpassen.

btw: Mir gefällt es nicht so gut, könnte u.U. auch den Style zerhauen, weil die Anzeige reichlich breit wird

:wink:

Verfasst: 13.12.2005 10:44
von Markus67
Hi ...

dann ändere doch die Zeile auch in der tpl-Datei und setzte die Pagination einfach in eine separate Zeile :wink:

Markus