[TYPO3-german] tt_board Anzeige auf mehreren Seiten

Daniel Minder typo3 at minder.de
Thu Jul 26 17:27:10 CEST 2007


Hi,

die Frage ist zwar schon öfters gestellt worden, bisher gibt's aber
noch keine Lösung für das Problem. Franz Holzinger als Autor liest
zwar hier mit, aber bisher hat er weder auf Listenmails noch auf
private Mails reagiert :-( Also muss man wohl selbst Hand anlegen:

tt_board unterstützt auch in der aktuellen Version 1.2.0 noch nicht
das Blättern in der Listenansicht eines Forums, wenn mehr Einträge
vorhanden sind, als auf eine Seite passen. Die Ansicht wird von der
Methode forum_forum der Klasse tx_ttboard_pibase erstellt. Dort wird
in Zeile 729 die Methode getThreads aufgerufen, die dann die
auszugebenden Threads zurückliefert. Dieser wird zwar ein Wert
übergeben, der die Anzahl der Ergebnissätze begrenzt, jedoch kein
Wert, um den Startsatz festzulegen.

Dabei ließe sich einfach ein Parameter tt_board_startrec einführen,
der dann (nach Auslesen aus _GP und Prüfung) in der exec_SELECTquery
verwendet werden kann, nämlich z.B. in Zeile 956:
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*', 'tt_board', $where,
'', $this->orderBy('DESC'), $startrec.",".intval($limit));
(also einfach ein --> $startrec.",".  <-- eingefügt)
Es ist ja nämlich keinenfalls so, dass exec_SELECTquery als limit nur
eine Zahl erwartet, sondern hier kann die komplette
LIMIT-Funktionalität von mysql genutzt werden.

Ich habe das getestet - funktioniert hervorragend! Freilich gibt's
noch Probleme z.B. mit dem Caching, wofür man entweder cHash einführen
muss oder das Caching für die Seiten>1 disabled. Leider kenn ich mich
damit noch nicht so gut aus. Außerdem brauchst noch eine
Seitenauswahlmöglichkeit, aber mit getNumThreads lässt sich schon
bequem die Anzahl der Threads abfragen - der Rest ist Mathematik :-)

Oder habe ich etwas Wichtiges übersehen, was gegen diese Lösung
spricht? Hat jemand eine andere Lösung? Ist wec_discussion die besser
Foren-Extension?

Viele Grüße
Daniel


More information about the TYPO3-german mailing list