Pagination mit Drop-Down-Liste - Druckversion +- MyBB.de Forum (https://www.mybb.de/forum) +-- Forum: Archiv (https://www.mybb.de/forum/forum-57.html) +--- Forum: MyBB 1.4.x (https://www.mybb.de/forum/forum-51.html) +---- Forum: Allgemeiner Support (https://www.mybb.de/forum/forum-52.html) +---- Thema: Pagination mit Drop-Down-Liste (/thread-12246.html) |
Pagination mit Drop-Down-Liste - Jockl - 29.01.2009 In anderen Foren ist mir schon des öfteren aufgefallen, dass es bei der Pagination auch die Möglichkeit gibt, per Drop-Down-Liste direkt auf bestimmte Seiten innerhalb eines Threads zu springen. Eine recht komfortable Möglichkeit, gerade wenn sich ein Thread über 30-50 Seiten hinzieht. Die Anzahl der Seiten wird ja bereits über die Fkt. multipage() ermittelt. Über eine entsprechende Drop-Down Liste müsste man also die Seitennummer in die entsprechende URL übergeben können, oder? Ich kann mir im Moment nur nicht zusammen reimen, wie man die (variable) Anzahl der Seiten in die Drop-Down Liste bekommt. Geht das überhaupt per XHTML oder muss da ggf. Javascript herhalten? Habe hierzu übrigens auch Zwoetzens Beitrag gelesen. Bin mir aber nicht sicher, ob das evtl. auch schon in diese Richtung geht. Wenn mir jemand unter die Arme greifen könnte wäre das klasse. RE: Pagination mit Drop-Down-Liste - frostschutz - 30.01.2009 Per XHTML geht es nicht. Per PHP schon, und MyBB ist ja in PHP geschrieben. Du müsstest eben die Funktion multipage() so anpassen, daß sie anstatt der bisherigen Seitenliste (oder zusätzlich dazu), noch eine passende Drop-Down-Liste erzeugt. Ich finds bei sowas allerdings einfacher, die gewünschte Seitenzahl direkt ins URL-Feld zu tippen. Kommt eh nur alle Jubeljahre vor daß ich bei einem Thread zu einer ganz bestimmten Seite will... falls das mit dem URL-Feld zu kompliziert ist könnte man nebenbei auch ein Eingabefeld auf der Seite realisieren in das man die Nummer eingibt. Wäre einfacher zu realisieren als eine ellenlange Drop-Down-Liste. Solange in der Drop-Down-Liste nicht noch was dabei steht (z.B. Datum von bis der Postings auf der Seite) bringt die Liste eh keinen Mehrwert. Aber das zu generieren wird teuer (SQL-Abfragen...). RE: Pagination mit Drop-Down-Liste - Jockl - 30.01.2009 Das ist natürlich auch eine tolle Idee und sicher einfacher zu realisieren. Ein Text-Feld für die Eingabe einer Zahl und ein "Gehe zu"-Button, der die page an die URL übergibt. Vielleicht noch vorab per PHP überprüfen, dass auch nur eine Zahl übergeben wird und nicht irgendwas anderes. ...das werde ich mal probieren. Danke für den Tipp! RE: Pagination mit Drop-Down-Liste - Michael - 30.01.2009 Nicht getestet: Code: <script type="text/javascript"> RE: Pagination mit Drop-Down-Liste - Jockl - 30.01.2009 das werde ich heute Abend gleich mal testen. Dankeschön!! RE: Pagination mit Drop-Down-Liste - Jockl - 30.01.2009 hm, leider sind meine Javascript Kenntnisse noch sehr begrenzt. Ich erhalte die Fehlermeldung Code: this.page has no properties Nachtrag: evtl. umständlich, aber ich habe jetzt mal um das Textfeld ein Formular (name="formpage") gepackt und frage den Wert mit "formpage.page.value" ab. Die Seitenzahl wird eingelesen aber nun wird {$tid} nicht ermittelt. Das Ergebnis sieht dann z.B. so aus: Code: /showthread.php?page=2&submit=Los RE: Pagination mit Drop-Down-Liste - Michael - 31.01.2009 Poste mal bitte deinen aktuellen Code. RE: Pagination mit Drop-Down-Liste - Jockl - 31.01.2009 Zunächst hatte ich den Code aus Deinem o.a. Beitrag 1:1 übernommen. Die JS-Fkt. hatte ich jeweils im Template headerinclude, multipage und auch in showthread ausprobiert. Nun habe ich gerade folgenden Code im Template multipage stehen: PHP-Code: <script type="text/javascript"> Dabei entsteht die oben im Nachtrag beschriebene Fehlermeldung. RE: Pagination mit Drop-Down-Liste - Michael - 01.02.2009 Im Template multipage steht $tid nicht zur Verfügung. Öffne die Datei inc/functions.php und suche nach: PHP-Code: function multipage($count, $perpage, $page, $url) PHP-Code: function multipage($count, $perpage, $page, $url) RE: Pagination mit Drop-Down-Liste - Jockl - 01.02.2009 Hmmm, leider wird die Thread-ID nicht übernommen. Die submit-Zeile habe ich übrigens so abgeändert: Code: <input type="submit" value="Los" onclick="javascript:gotopage();" /> Im Moment sieht die URL so aus: .../showthread.php?page=2 tid wird trotz Anpassung der inc/functions.php nicht in die URL eingesetzt. Nachtrag: durch einen provozierten Fehler konnte ich feststellen, dass die tid wohl doch in die URL übernommen wird (Firebug zeigt sie kurz an). Sobald aber die Seite zu der URL hinzugefügt wird die Seitenzahl in die URL übernommen, die Thread-ID scheint aber irgendwie zu "verschwinden". Kann das an dem window.location liegen? |