Zum Inhalt springen

Anzeige von Datensätzen beeinflussen (Backend)

Erstellt am 29. Januar 2009 · 8 Antworten · letzte Antwort am 30. Januar 2009

Tags: Frage

leviathan0 ·

Hi.

Folgendes würde ich gerne realisieren:

Habe derzeit EINEN SystemOrdner in dem viele Daten hinterlegt sind.
Die Daten werden im Backend schön im rechten Frame wie üblich aufgelistet.
Um den Redakteuren das leben zu erleichtern würde ich gerne die Anzeige der Datensätze wie folgt beeinflussen:

Aus einem Systemordner zwei machen und in jedem Ordner nur die Daten anzeigen bei denen in der dahinterliegenden Tabelle ein bestimmtes Flag gesetzt ist.

Zur Veranschaulichung:

[Tablle mit Daten]
| |
<Ordner1> <Ordner2>
| |
Anzeige Der Daten Anzeige der Daten wo Ja = 0
wo Ja = 1

(zur Anzeige: die jeweils 2ten Striche sollen auf die rechten Container zeigen!)

Ich hoffe ich konnte verständlich machen was ich will 🙂.

Wenn ja :
Hat jemand eine Idee oder weiss wie ich die Anzeige beeinflussen kann ? Eventuell Parametrisiert where Statements in die Anzeige mit einbauen kann oder oder oder... finde hier leider selbst keinen richtigen Ansatz bzw wüsste nichtmal wo ich anfangen sollte zu suchen.

Danke im vorraus

ThBodi ·

[Tablle mit Daten]
| |
<Ordner1> <Ordner2>
| |
Anzeige Der Daten Anzeige der Daten wo Ja = 0
wo Ja = 1

(zur Anzeige: die jeweils 2ten Striche sollen auf die rechten Container zeigen!)

Ich muss sagen, dass ist echt rekordverdächtig. So viele Buchstaben und man versteht gar nichts.

leviathan0 ·

Ich entschuldige mich für die Darstellung.. hatte versucht mit Leerzeichen eine halbwegs vernünftige Darstellung zu erzeugen.. hat nicht funktioniert 😉.

Hier mal als Bild:

http://img142.imageshack.us/img142/355/piczt9.jpg

Und nochmals zur Erklärung:

Ich habe eine Extension mit dem Kickstarter geschrieben.
Hier habe ich eine Datenbanktablle mittels Kickstarter erstellt und ein paar Felder eingefügt;

Titel,
Beschreibung,
Anzeige (default = 0(bzw nein))

Nun habe ich einen Systemordner angelegt in dem Eben diese Datensätze angezeigt werden mit :
Titel, Beschreibung, Anzeige

Anzeige besteht aus 2 Radiobuttons: ja / nein

Wenn ein Redakteur nun in einem Artikel Anzeige = ja angeklickt hat soll dieser Datesatz nicht mehr in diesem Ordner angezeigt werden, sonder in einem anderen SysOrdner.

Es sollen also 2 SysOrdner existieren:

In einem werden alle Artikel angezeigt wo Anzeige = ja eingestellt ist und einen Ordner wo nur artikel aufgelistet werden wo Anzeige = nein eingestellt ist.

So verständlicher ?

ps: Die Artikel wandern über eine andere Extension in die Datenbank. Die Redakteuere erstellen diese nicht selbst!

ThBodi ·

Der einfachste Weg, Deinen Wunsch zu realisieren, ist über die pid. Dieses Datenbankfeld bestimmt, in welchem(r) Ordner/Seite der Datensatz angezeigt wird. Wenn Du den pidList-Mechanismus von Typo3 nutzt, kannst Du beide SysOrdner als eine Datenbasis verwenden.

leviathan0 ·

Danke.

Das ist der Ansatz.

Ich muss es schaffen bei dem einen SysOrdner nur die Daten anzeigen zu lassen die als pid beispielsweise pid = 36 haben und in dem anderen die pid =37.

Dafür muss ich aber auch noch zB beim speichern diese pid beeinflussen.

Abfolge wäre dann:
[Aktion speichern]
default datensatz: display = 0, pid = 36

Wenn display = 1 update datensatz und setze pid = 36;

Nur gehts eben darum wie ich soetwas hinbekomme o.O

Wie kann ich Typo3 an eben diesen Stellen die gewünschte Funktionalität beibringen...

ThBodi ·

Wenn ein Redakteur diese Auswahl trifft, kann er doch auch gleich den richtigen SysOrdner zum Einfügen auswählen? Und wenn es automatisch geschieht, ist es doch egal ob ich eine Eigenschaft = true setze oder in Abhängigkeit eine bestimmte pid?

leviathan0 ·

Dem Redakteur könnte man es auch überlassen... aber es soll ja komfortabel sein .

Die Daten kommen mit der pid = 36 und dem feld display = 0 in die tabelle.

Die Daten werden nun in dem entsprechenden ordner angezeigt.

Die Redakteure sollen dann einen artikel anschauen(bearbeiten) können. Zudem sollen sie im artikel quasi den artikel freigeben können (display = 1).
Wenn der artikel nun gespeichert wird soll dieser artikel automatisch in einen anderen sysordner verschoben werden: zB pid = 37.

das heisst in dem einen ordner befinden sich nur freigegebene artikel und in dem anderen nur nicht freigegebene.

ThBodi ·

Sonderlich sinnvoll scheint mir diese Lösung nicht zu sein, TYPO3 bietet von Haus aus Mechnismen (das Flag "Verstecken", das Konzept "Workspaces"), um einen solchen Arbeitsablauf zu steuern.

Aber wie auch immer: In der Datei t3lib/class.t3lib_tcemain.php werden die Speichervorgänge vom TYPO3-Backend gesteuert, dort gibt es auch einige Hooks, von denen Du Dir den geeignetsten raussuchen kannst, um die Daten nach dem Abspeichern zu manipulieren.

leviathan0 ·

Vielen Dank für deine Hilfe und auch deine neuen Ansätze (Workspaces, verstecken)... werde mir das nochmal überlegen. Vielleicht komme ich auch in den anderen Richtungen auf eine vernüftige Lösung.

Danke nochmals!