Seite 1 von 1
[gelöst] Seitennavigation wie im vbulletin?
Verfasst: 25.07.2006 18:42
von markus4deadsy
EDIT: Hab eine lösung gefunden (siehe unten)
Hi zusammen...
Möchte mein Forum nach langer zeit endlich mal wieder etwas verändern.
Die Seitennavigation ist ja im phpBB erstmal ziemlich simpel dargestellt:
Gehe zu Seite 1, 2, 3 Weiter
Jetzt möchte ich diese Navigation so ähnlich wie im Vbulletin gestalten.
[ externes Bild ]
Es gab da mal einen kleinen Hack. Ich find den aber nirgends.
Könnt ihr mir da weiter helfen? Wäre euch sehr dankbar

...
der markus
Um die Seitennavigation wie im Vbulletin zu gestalten folgt einfach der anleitung unter diesem link
http://forums.zerocubed.net/viewtopic.p ... d903c9b9a0
Verfasst: 26.07.2006 01:56
von IPB_Flüchtling
Oh,
danke Markus! Werde das auch mal ausprobieren! Die vBulletin-Funktion, dass man direkt zu einer bestimmten Seite springen kann (z.B. von Seite 1 zu Seite 55) ist da aber nicht integriert, oder? (Aufrufen lässt sich diese Funktion im vBulletin über den "Pfeil nach unten"-Button ganz rechts in der Pagination.)
LG, IPB_Flüchtling
EDIT: ACHTUNG:
Ein paar Unsauberkeiten sind in dem "Mod" schon drinnen. Z.B. gibt es bei mir keine Klasse "gensmallest". Statt & wird ein paar Mal & verwendet. Und in einer der $page_string-Zeilen kommt cellpadding doppelt vor. Andere HTML-Fehler sind auch enthalten. Vielleicht sollte das Vorhaben besser mit CSS als mit <table> gelöst werden.
Verfasst: 26.07.2006 07:26
von ATARI
Na das ist ja mal ein saugeiles Teil !!
@IBP_Flüchtling: Wie wärs wenn du das Teil überarbeitest bzw. die Fehler rausmachst und dann hier postest.
Da würden wir uns alle freuen!

Verfasst: 27.07.2006 15:45
von markus4deadsy
Oki ihr lieben...
Hab die fehler die in der Originalen Version waren behoben...
Hier die neue Version:
Code: Alles auswählen
//
// Pagination routine, generates
// page number sequence
//
function generate_pagination($base_url, $num_items, $per_page, $start_item, $add_prevnext_text = TRUE, $start_field='start')
{
global $lang;
$total_pages = ceil($num_items/$per_page);
if ( $total_pages <= 1 )
{
return '';
}
$on_page = floor($start_item / $per_page) + 1;
$page_string = '';
if ( $total_pages > 5 )
{
$init_page_max = ( $total_pages > 3 ) ? 3 : $total_pages;
for($i = 1; $i < $init_page_max + 1; $i++)
{
$page_string .= ( $i == $on_page ) ? '<td class="row2" width="20" align="center" nowrap><b>' . $i . '</b></td>' : '<td class="row1" width="20" align="center" nowrap><a href="' . append_sid($base_url . "&$start_field=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a></td>';
if ( $i < $init_page_max )
{
$page_string .= "";
}
}
if ( $total_pages > 3 )
{
if ( $on_page > 1 && $on_page < $total_pages )
{
$page_string .= ( $on_page > 5 ) ? '<td class="row1" width="20" align="center" nowrap>...</td>' : '';
$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) ? '<td class="row2" width="20" align="center" nowrap><b>' . $i . '</b></td>' : '<td class="row1" width="20" align="center" nowrap><a href="' . append_sid($base_url . "&$start_field=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a></td>';
if ( $i < $init_page_max + 1 )
{
$page_string .= '';
}
}
$page_string .= ( $on_page < $total_pages - 4 ) ? '<td class="row1" width="20" align="center" nowrap>...</td>' : '';
}
else
{
$page_string .= '<td class="row1" width="20" align="center" nowrap>...</td>';
}
for($i = $total_pages - 2; $i < $total_pages + 1; $i++)
{
$page_string .= ( $i == $on_page ) ? '<td class="row2" width="20" align="center" nowrap><b>' . $i . '</b></td>' : '<td class="row1" width="20" align="center" nowrap><a href="' . append_sid($base_url . "&$start_field=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a></td>';
if( $i < $total_pages )
{
$page_string .= "";
}
}
}
}
else
{
for($i = 1; $i < $total_pages + 1; $i++)
{
$page_string .= ( $i == $on_page ) ? '<td class="row2" width="20" align="center" nowrap><b>' . $i . '</b></td>' : '<td class="row1" width="20" align="center" nowrap><a href="' . append_sid($base_url . "&$start_field=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a></td>';
if ( $i < $total_pages )
{
$page_string .= '';
}
}
}
if ( $add_prevnext_text )
{
if ( $on_page > 1 )
{
$page_string = '<td class="row1" width="20" align="center" nowrap><a title="Vorherige Seite" class="gensmallest" href="' . append_sid($base_url . "&$start_field=" . ( ( $on_page - 2 ) * $per_page ) ) . '"><b>«</b></a></td>' . $page_string;
}
if ( $on_page < $total_pages )
{
$page_string .= '<td class="row1" width="20" align="center" nowrap><a title="Nächste Seite" class="gensmallest" href="' . append_sid($base_url . "&$start_field=" . ( $on_page * $per_page ) ) . '"><b>»</b></a></td>';
}
}
$page_string = '<table class="forumline" cellpadding="2" cellspacing="1" height="15"><tr><td class="row3" nowrap> Seite ' . $on_page . ' von ' . $total_pages . ' </td>' . $page_string . '</tr></table>';
return $page_string;
}
Hätte nie gedacht das es so umständlich ist diesen Rahmen um die Navi zu Basteln.
Verfasst: 27.07.2006 16:10
von ATARI
Kleine Schönheitskorrektur:
Statt » sollte man besser » schreiben
und statt « sollte man « schreiben!
Aber es geht auch so wie du es gepostet hast!

Verfasst: 27.07.2006 22:13
von markus4deadsy
ATARI hat geschrieben:Kleine Schönheitskorrektur:
Statt » sollte man besser » schreiben
und statt « sollte man « schreiben!
Aber es geht auch so wie du es gepostet hast!

axo?
sind die codes besser als die zeichen? Werden die zeichen bei manchen Browsern nicht angezeigt?
Verfasst: 27.07.2006 22:27
von PureSpider
markus4deadsy hat geschrieben:axo?
sind die codes besser als die zeichen? Werden die zeichen bei manchen Browsern nicht angezeigt?
Sie sind valides HTML, das sollte als Grund reichen

Verfasst: 28.07.2006 06:06
von markus4deadsy
hmmm was ist denn ein html valid?
die zeichen zeigts doch auch so an...
Verfasst: 28.07.2006 06:18
von IPB_Flüchtling
Valides HTML ist quasi HTML ohne Rechtschreib- und Grammatikfehler. Zum Überprüfen der Validität kannst Du z.B. folgende Seite des "Dudens" für HTML verwenden:
http://validator.w3.org
LG, IPB_Flüchtling