Seite 1 von 1

Links verringern bei "Gehe zu Seite"

Verfasst: 13.02.2005 05:32
von ll-rooth
Hallo :)

ich hab wieder mal ein Problem mit meinem schmalen Board. Ich möchte ganz gerne das unter folgendem Link bei Gehe zu Seite nicht mehr 1, 2, 3 ... 10, 11, 12 sondern nur noch die erste und die letzte alsso 1,...,12 und "weiter" als Link erscheint um das Design nicht zu zerstören.

http://www.learninglinux.de/forum/searc ... or=ll-root

Kann mir jemand sagen in welcher Datei ich das ändern kann?

Vielen Dank

Christian

Verfasst: 13.02.2005 16:10
von Mungo
Schau dir mal die Funktion "generate_pagination" in der functions.php an.

Verfasst: 14.02.2005 03:06
von ll-rooth
Danke für deine Hilfe, ich hab mir die Funktion mal angeschaut und einiges probiert aber das hat leider nicht geklappt. Kann mir vielleicht jemand sagen was ich genau ändern muß.

Ich hab sie mal hier gepostet:
http://nopaste.php-q.net/114932

Christian

Verfasst: 14.02.2005 03:48
von Mungo
Wenn die Seitenzahl <= 10 werden ja alle Seitennummern angezeigt, also 1,2,3,4,5,6,7,8,9,10

Wenn die Seitezahl >10, dann werden erst die Punkte angezeigt. Jedoch gibts da ja verschiedene Anzeigen, also einmal z.B. 1,2,3 ... 20,21,22 (bis 1,2,3,4,5,6 ... 20,21,22) und 1,2,3 ... 10,11,12 ... 20,21,22

Wie sollen den die einzelnen Fälle aussehen?

Verfasst: 14.02.2005 04:12
von ll-rooth
Also ich weiß ja nicht ob das geht in dieser Funktion aber ich dachte mir damit die Forumsbreite immer beibehalten wird wäre es am besten immer die erste und die letzte Seite nur anzuzeigen.

Also so:
1...12 weiter

hmm hast du ne Ahnung ob man das so hinbekommt?

Christian

Verfasst: 14.02.2005 11:17
von Mungo
Wenn sich der User jedoch nicht auf der ersten oder letzten Seite befindet, dann weiß er ja nicht, wo er sich befindet. Dann kannst die Seitenzahlen auch gleich weglassen ;)

Verfasst: 14.02.2005 15:43
von ll-rooth
Irgendwie hast du schon recht... :lol:
Naja dann sollte ich sie vielleicht wirklich komplett weglassen und nur einen weiter und zurück button anzeigen lassen.

Was müßte ich dazu von der Funktion rauslöschen?

Christian

Verfasst: 15.02.2005 10:57
von Mungo
Dazu musst du folgenden Code löschen bzw. auskommentieren:

Code: Alles auswählen

	$page_string = '';
	if ( $total_pages > 10 )
	{
		$init_page_max = ( $total_pages > 3 ) ? 1 : $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;

				for($i = $init_page_min - 1; $i < $init_page_max + 2; $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 + 1 )
					{
						$page_string .= ', ';
					}
				}

				$page_string .= ( $on_page < $total_pages - 4 ) ? ' ... ' : ', ';
			}
			else
			{
				$page_string .= ' ... ';
			}

			for($i = $total_pages; $i < $total_pages + 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 <  $total_pages )
				{
					$page_string .= ", ";
				}
			}
		}
	}
	else
	{
		for($i = 1; $i < $total_pages + 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 <  $total_pages )
			{
				$page_string .= ', ';
			}
		}
	}

Verfasst: 15.02.2005 21:27
von ll-rooth
Danke dir nochmal für deine Hilfe!

:)