Your-pMF
     registrieren     benutzer     suche     team     kalender     hilfe     index    
Chat     downloads     link us     gästebuch     supportforum    
 

Seitenanzahl

original Thema anzeigen

09.04.05, 18:52:19

dash

Hallo, könnt ihr es irgendwie deichseln, dass man bei der Themensicht die ersten 2 Seiten und die letzten 3 Seiten sehen kann, wenn das Thema mehr als 6 Seiten hat? Also wie folgt: [QUOTE] Kleines Spiel ( 1 2 ... 26 27 28 )[/QUOTE] Und nicht wie bei der Anlage. (Ja ich weiß, es müssen nicht alle Seiten angezeigt werden, aber ich möchte eben, dass man die letzten 3 Seiten auswählen kann, und das geht nur so. Habe in Einstellungen bei "Anzeige von x Seiten in der Navigation (Forenansicht)" den Wert 100 gewählt, aber das sprengt mein Design :rolleyes: )
Dateianhang:

 Zwischenablage012.jpg (6.25 KByte | 106 mal heruntergeladen | 662.4 KByte Traffic)

09.04.05, 19:21:17

BugHunter2k

geändert von: BugHunter2k - 10.04.05, 01:51:25

in der datei mainfile.php die funktion navi_topic_line durch folgende [b]ersetzen[/b] [php]function navi_topic_line($anz, $max, $url) { global $_style, $_config, $_cfg, $_sess; //Anzahl Seiten $sites = @ceil($anz / $max); # weniger als zwei Seiten ? -> return if ($sites < 2) return; # Seiten ... $nav_list = ''; $n = 1; while ($n <= $sites && $n <= $_config['NAV_ANZ_TOPIC_LINE']) { $nav_list .= eval('return ("'.$_style->get('board_navi_site').'");'); $n++; } # mehr Seiten als in Anzeige ? //$_style->restore('board_navi_last'); if($sites==$n){ $nav_list .= eval('return ("'.$_style->get('board_navi_site').'");'); $n++; } elseif ($sites==$n+1){ $nav_list .= eval('return ("'.$_style->get('board_navi_site').'");'); $n++; $nav_list .= eval('return ("'.$_style->get('board_navi_site').'");'); $n++; } if ($sites>$n) { $nav_list.="..."; $n=$sites-2; while ($n<=$sites){ $nav_list .= eval('return ("'.$_style->get('board_navi_site').'");'); $n++; } } $_style->backup('board_navi_last', 1); return eval('return ("'.$_style->get('board_navi').'");'); } [/php]
10.04.05, 01:49:29

dash

Vielen Dank, klappt wunderbar :D (musste nur ein "echo" noch wegmachen ;))
10.04.05, 01:51:06

BugHunter2k

oh, das hab ich galtt vergessen gehabt ... werd das mal aus meinem beitrag oben auch rausmachen .
27.01.06, 10:19:09

Tsukasa

Hi bug, ich hab deine Funktion mal eingebaut, wobei mir auffiel, dass da ein etwas komisches Bild entsteht, wenn folgende situation eintritt: Man hat als [CODE]Anzeige von x Seiten in der Navigation (Forenansicht) = 5[/CODE] eingestellt (sprich im alten wären das die ersten 5 Seiten). Nun sind aber zum Beispiel insgesamt 6,7 oder 8 Seiten voller Beiträge in dieser Topic, dann würde die Forenansicht folgendes Bild liefern: [CODE](1, 2, 3, 4, 5, ... 6) (1, 2, 3, 4, 5, ... 6, 7) (1, 2, 3, 4, 5, ... 6, 7, 8)[/CODE] Verzeih mir wenn ich das so sage, aber das sieht einfach komisch aus. Nach einem kurzen Blick in den Code entdeckt man, dann das man einfach nur eine deiner Bedingungen erneut ausführen muss und schon macht die Funktion was sie soll. Du hattest: [PHP] if($sites==$n){ $nav_list .= eval('return ("'.$_style->get('board_navi_site').'");'); $n++; } elseif ($sites==$n+1){ $nav_list .= eval('return ("'.$_style->get('board_navi_site').'");'); $n++; $nav_list .= eval('return ("'.$_style->get('board_navi_site').'");'); $n++; } if ($sites>$n) { [/PHP] dem 'if'-Konstrukt fehlt eine weitere abhandlung für $n+2 somit wird das obige dann zu: [PHP] if($sites==$n){ $nav_list .= eval('return ("'.$_style->get('board_navi_site').'");'); $n++; } elseif ($sites==$n+1){ $nav_list .= eval('return ("'.$_style->get('board_navi_site').'");'); $n++; $nav_list .= eval('return ("'.$_style->get('board_navi_site').'");'); $n++; } elseif ($sites==$n+2){ $nav_list .= eval('return ("'.$_style->get('board_navi_site').'");'); $n++; $nav_list .= eval('return ("'.$_style->get('board_navi_site').'");'); $n++; $nav_list .= eval('return ("'.$_style->get('board_navi_site').'");'); $n++; } if ($sites>$n) { [/PHP] Das sorgt dafür das für den Fall (siehe obige Einstellungen) 6,7,8 Seiten dann die Punkte nicht angezeigt werden und ab der neunten Seite dann (also das erste mal wo eine ausgelassen wird) die Punkte erscheinen. Sprich für 6,7,8 und neun Seiten sieht das dann so aus: [CODE](1, 2, 3, 4, 5, 6) (1, 2, 3, 4, 5, 6, 7) (1, 2, 3, 4, 5, 6, 7, 8) (1, 2, 3, 4, 5, ..., 7, 8, 9)[/CODE] Bei entsprechend hören Seitenzahlen, wird das auch nochimmer korrekt dargestellt.
03.03.06, 13:15:22

siebi

Hi Kann man sowas auch für die Beitragsübersicht machen?
 
Powered by: phpMyForum 4.2.1 © Christoph Roeder
SQL Error