Sichtbare Records ermitteln bei TYPO3 Extension Programmierung
Bei der TYPO3 Extension entwicklung ist es extrem wichtig darauf zu achten nur gültige Datensätze anzuzeigen / zu verwenden.
Natürlich müssen TYPO3 Extension Programmierer abfragen, ob der Datensatz nicht gelöscht oder versteckt ist (deleted = 0 AND hidden = 0). Aber das ist nicht alles! Es muss auch beachtet werden, ob der Datensatz eventuell zeitgesteuert freigeschaltet werden soll, FE Usergruppen müssen bei der Anzeige von TYPo3 Records auich zum teil beachtet werden.
Gültige TYPO3 Datensätze fragt man z.B. korrekt so ab:
SELECT * FROM tt_news WHERE deleted=0 AND t3ver_state<=0 AND hidden=0 AND (starttime<=1228519020) AND (endtime=0 OR endtime >h;1228519020) AND (fe_group=” OR fe_group IS NULL OR fe_group=’0? OR (fe_group LIKE ‘%,0,%’ OR fe_group LIKE ‘0,%’ OR fe_group LIKE ‘%,0? OR fe_group=’0?) OR (fe_group LIKE ‘%,-1,%’ OR fe_group LIKE ‘-1,%’ OR fe_group LIKE ‘%,-1? OR fe_group=’-1?))
Kein Prpgrammierer hat natürlich Lust sowas einzutippen, Niemand den Überblick, was man bei den records welcher Tabelle denn nun eigentlich abfragen muss damit keine ungültigen Datensätze angezeigt werden. Doch nun kommt die gute Nachricht:
TYPO3 API Funktion zur Ermittlung der gültigen Datensätze.
Mit tslib_cObj::enableFields(’tt_news’) lässt sich automatisch eine SQL WHERE Klausel erstellen, die sicherstellt, das keine ungültigen Datensätze Abgefragt werden. Das funktioniert sogar für die Tabellen eigener Extensions, wenn Sie korrekt definiert wurden.
Bei der TYPO3 Extension Programmierung immer tslib_cObj::enableFields bei SQL Abfragen in die WHERE KLausel!
Bei der Extension Programmierung sollte man immer sicherstellen, dass nur gültige Datensätze abgefragt werden. Daher gehört tslib_cObj::enableFields in fast jede WHERE Klausel! Durch die Nutzung der API Funktion kann man sich viel Ärger ersparen.


Kommentar hinzufügen