3.3 Actions
Actions erweitern die Funktionalität von Modulen. Der in den Actions gespeicherte PHP-Code wird je nach Definition vor bzw. nach dem Hinzufügen (add), Speichern (edit) oder Löschen (delete) eines Blocks ausgeführt. Die beim Übernehmen bzw. Speichern eines Blocks gesendeten Daten (POST), können auf diese Weise vor dem Schreiben in die Datenbank manipuliert werden. So lassen sich zum Beispiel Eingaben auf Vollständigkeit prüfen und das Speichern im Falle eines Fehlers unterbinden. Alternativ können sie auf diese Weise auch die Konsistenz der zu speichernden Daten sicher stellen, indem sie die betreffenden Eingaben vor dem Schreiben entsprechend formatieren. Bitte beachten sie, dass die hier verwalteten Actions noch im betreffenden Modul verknüpft werden müssen. (siehe Kapitel 3.2)
PRE/POST – die Action vor bzw. nach der Datenspeicherung ausführen.
STATUS – die Action ausführen wenn ein neuer Block mit dem zugeordneten Modul hinzugefügt (add), gespeichert (edit) oder gelöscht (delete) wurde.
Beispiel
Die folgende Beispiel-Action wird im dritten Beispiel-Modul genutzt, um Teile der gesendeten Daten des globalen -Arrays vor dem Schreiben in die Datenbank zu manipulieren.
CODE
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
Code der Action zum 3. Beispiel-Modul
Die Werte des CJO_ACTION-Arrays werden beim Speichern des Blocks in die Tabelle “(cjo_)article_slice“ geschrieben.
| Schlüssel | Datentyp/Bedeutung |
|---|---|
| $CJO_ACTION['SAVE'] | bool – gibt an ob die im Array enthaltenen Daten gespeichert werden sollen. Der Standard-Wert ist true. |
| $CJO_ACTION['EVENT'] | string – gibt an welche Aktion ausgelöst wurde( EDIT, DELETE, ADD). |
| $CJO_ACTION['SLICE_ID'] | int – Die Slice-Id des bearbeiteten Blocks. |
| $CJO_ACTION['ARTICLE_ID'] | int – die Id des Artikels in dem der bearbeitete Block liegt. |
| $CJO_ACTION['CLANG_ID'] | int – die Id der Sprache in der der bearbeitete Block ausgegeben wird. |
| $CJO_ACTION['CTYPE_ID'] | int – die Id der Spalte in der der bearbeitete Block ausgegeben wird. |
| $CJO_ACTION['MODULE_ID'] | int – die Id des Moduls das für den bearbeiteten Block verwendet wird. |
| $CJO_ACTION['VALUE'][1...20] | array – indizierte Liste (1 – 20) zur Speicherung von Texten. |
| $CJO_ACTION['WYMEDITOR'][1...19] | array – indizierte Liste(1 – 19) zur Speicherung von Texten die mit dem WYMEditor erstellt wurden. (Achtung: die Werte werden ebenfalls in den „value“-Feldern der Tabelle gespeichert. |
| $CJO_ACTION['LINK'][1...10] | array – indizierte Liste (1 – 10) zur Verknüpfung von Artikeln über deren Id. |
| $CJO_ACTION['MEDIA'][1...10] | array – indizierte Liste (1 – 10) zur Verknüpfung von einzelnen Medien über deren Dateinamen. |
| $CJO_ACTION['MEDIALIST'][1...10] | array – indizierte Liste (1 – 10) zur Verknüpfung von mehrerer Medien (kommasepariert) über die Dateinamen. |