Zum Inhalt springen

Mit Kickstarter erstellte Extension sortierfähig für FE machen

Erstellt am 10. Februar 2007 · 4 Antworten · letzte Antwort am 14. Februar 2007

Tags: TCA, Frage

Toskana ·

Hallo liebe Forumsmitglieder,

habe eine eigene Inhaltsextension mit dem Kickstarter erstellt. Alles funktioniert wunderbar bis auf die Sortierfunktion. Im Backend lässt sich zwar die Sortierung vornehmen, aber diese wirkt nicht auf das Frontend durch. Habe dabei den gewohnten TS-Code der Tabelle tt_content, also:

INHALT = CONTENT 
INHALT {
       table = tt_content
       select.orderBy = sorting   	             
	     	      }

wie folgt abgewandelt/erweitert:

INHALT = COA
INHALT {
10 = CONTENT
10.table = tt_content
10.select.orderBy = sorting
20 = CONTENT
20.table = user_teasermenu_main
20.select.orderBy = sorting 	             
}

Weiß vielleicht jemand, wie die Sortierung neben der tt_content auf eine weitere Tabelle, die mit dem Kickstarter erstellt wurde, ausgeweitet wird?

Schon mal einen herzlichen Dank an dieser Stelle!

mischa ·

Sorting sollte richtig sein.

Installier mal die EXT phpMyAdmin und schau dir mal deine neue Tabelle an. Ist das Feld vorhanden?

Toskana ·

Ja, ich war bereits in der Datenbank nachschauen per phpMyAdmin-Modul, und die Spalte "sorting" ist vorhanden. Leider sortiert das FE immer noch nach der Spalte "uid".

Gib es irgend einen anderen Weg zum Erfolg?

Toskana ·

Hallo Mischa,

vielen Dank für Deine Hilfe, die für mich darin lag, dass Du mir meine ersten Lösungsschritte bestätigt hattest, denn sonst hätte ich daran vielleicht nicht festgehalten und wäre in eine andere Richtung gegangen. So ist also der folgende Ansatz richtig:

INHALT = COA
INHALT {
       10 = CONTENT
       10.table = tt_content
       10.select.orderBy = sorting
       20 = CONTENT
       20.table = user_teasermenu_main
       20.select.orderBy = sorting                 
}

Nun fehlt allerdings noch eine PHP-Änderung in der Datei "class.user_teasermenu_pi1.php", also der Datei, die die Datenbank anspricht und den gewünschten Inhalt der Kickstarter-Extension in einer Schleife ausgibt. Auf diese Idee bin ich durch durch die Forumsseite #54464 gekommen.

Ich habe deshalb meinen PHP-Code von:

// Die Datenbankabfrage inkl. Unterstützung von Datenbankabstraktion

$res = $GLOBALS["TYPO3_DB"]->exec_SELECTquery("*","user_teasermenu_main",
		"deleted = 0 AND hidden = 0 AND pid = '".$auflistungPageId."'");
		while ($row = $GLOBALS["TYPO3_DB"]->sql_fetch_assoc($res)) { 

                ... usw.

wie folgt umgewandelt und schon funktioniert's:

// Die Datenbankabfrage inkl. Unterstützung von Datenbankabstraktion
$res = $GLOBALS["TYPO3_DB"]->exec_SELECTquery("*","user_teasermenu_main",
	       "deleted = 0 AND hidden = 0 AND pid = '".$auflistungPageId."'ORDER BY sorting");
		while ($row = $GLOBALS["TYPO3_DB"]->sql_fetch_assoc($res)) {


                ... usw.

Also Dir vielen Dank für die Mühe und selbst viel Glück!

Gruß

Thomas