sys_action und eigene SQL-Queries

Jeder der mal in der linken Menüleiste auf Benutzerwerkzeuge --> Aufgaben geklickt hat wird außer den "Voreinstellungen für den Export" nichts vorfinden. Mit der TYPO3-eigenen System-Extension sys_action kann dieser Bereich, um eigene Aufgaben erweitert werden.

Diese neuen Aufgaben beziehen sich überwiegend auf Datenbankabfragen. Ihr könnt dort also Aufgaben hinterlegen, die es Euch ermöglichen z.B. Backendbenutzer anzulegen oder eine komplette Tabelle aufzulisten wie im Listmodul. Aber das Schmankel dieser Aufgaben ist eine Sektion, die sich damit beschäftig eigene Datenbankabfragen in Listform darstellen zu können. Darum geht es hier in diesem Tutorial.

Bevor die Aufgaben in den Benutzerwerkzeugen verwendet werden können, muss mit Hilfe des Extensionmanagers die Systemextension sys_action installiert werden. Danach könnt Ihr auf der Weltkugelseite (PID 0) über das Listenmodul eigene Aufgaben anlegen (siehe Bild).

Eine Aufgabe anlegen

Nach dem Klick zum Anlegen der neuen Aufgabe erhaltet Ihr ein kleines Formular mit dem Ihr derzeit unter "Typ" zwischen 5 Varianten wählen könnt:

Create Backend user

Wie der Name schon sagt, könnt Ihr hiermit einen neuen Backend user anlegen. Vergebt einen Titel für diese Aufgabe und wählt einen bereits angelegten Backenduser aus, den Ihr als Vorlage für die neu zu erstellenden Backenduser verwenden wollt.

SQL-Query

Das ist der Haupt-Punkt, um den es hier geht. Mit dieser unscheinbaren Variante könnt Ihr eigene SQL-Querys erstellen. Ihr seht keinen Bereich für SQL-Befehle oder sonstiges? Völlig korrekt...ich auch nicht. Vergebt dieser Aufgabe erstmal einen Titel und merkt Euch den.

Der Trick ist, der SQL-Befehl wird nicht hier eingegeben, sondern über den Link DB-Überprüfung erstellt:

DB-Überprüfung (Menü links) --> DropDown oben auf "Vollsuche" stellen --> 2te DropDown-Liste auf "Erweiterte Abfrage" umstellen --> und nun bei MAKE QUERY die gewünschte Tabelle auswählen.

Für mein Beispiel habe ich hier die Tabelle "Seite" ausgefählt und unter "select fields" noch die Felder "stichworte" und "Beschreibung" hinzugenommen. Unter "make query" könnt Ihr nun Eure Abfrage noch weiter einschränken. Für mein Beispiel habe ich hier nur die Seiten ausgewählt, die die Seite mit der PID = 1 als Elternseite besitzen (siehe Bild oben rechts). Ganz unten werden bei mir nun 8 Seiten angezeigt. Mein Query ist fertig.

Weiter oben auf der Seite findet Ihr einen Abschnitt "LOAD / SAVE". "new" steht bereits in dem DropDown-Feld drin. Es ist vielleicht ein bisschen verwirrend, aber über diese DropDown-Box könnt Ihr wählen, ob Ihr Eure aktuelle Query unter einem neuen Namen abspeichern wollt oder unter einem bereits vorhandenen Namen und siehe da: Ganz unten in der DropDown-Box findet Ihr Euren Titel Eurer Aufgabe wieder. Wählt also Eure Aufgabe aus und klickt auf "Save" und bestätigt die Überschreibenmeldung mit "OK".

Über Benutzerwerkzeuge --> Aufgaben --> klick auf Actions klappt sich nun Eure Liste von Aufgaben auf...unteranderem auch die gerade erstellte Aufgabe. Nach Auswahl erhaltet Ihr links nun die Ausgabe Eurer Query und könnt jeden Eintrag auch noch direkt bearbeiten.

Record List

Nicht so dynamisch wie der SQL-Query ist die "record list". Auch mit Ihr könnt Ihr Euch bestimmte Datensätze einer Seite/Sysfolders anzeigen lassen. Im Gegensatz zur SQL-Query müsst Ihr hier aber eine Seiten-ID wählen, die Eure Datensätze beinhaltet.

Das Ergebnis ist ähnlich dem aus dem Listenmodul. Hier könnt Ihr gegenüber der SQL-Query aber selbst die gewünschten Felder hinzufügen bzw. abwählen. Mit den Bleistiften über jeder Spalte lässen sich alle Datensätze gleichzeitig bearbeiten. Das kann manchmal sehr sinnvoll sein.

Edit Records

Obwohl ich mit der "records list" schon alle Datensätze auch gleich bearbeiten kann, macht dieser Eintrag trotzdem Sinn. Den mit dieser Variante könnt Ihr völlig tabellenunabhängig beliebige Datensätze rauspicken, die die Backendbenutzer einer ganz bestimmten Gruppe editieren dürfen.

New Record

Bei dieser Variante müsst Ihr wie bei der "Record list" eine Seite bzw. Sysfolder auswählen und auch angeben welche Art von Datensätze hinzugefügt werden dürfen.