Hallo,
in der Tabelle con_actions werden bestimmte Codeteile verwaltet, die ausgeführt werden, wenn im Backend eine entsprechende Aktion stattfindet.
Nehmen wir Beispielhaft das online/offline Stellen eines Artikels.
Wenn man sich die URL hinter dem Link für online/offline Stellen ansieht, hat sie folgenden Aufbau:
Code: Alles auswählen
// url
main.php?area=con&idcat=2&action=con_makeonline&frame=4&idart=2&next=0&contenido={sessionid}
// interessant sind folgende parameter
area: con
action: con_makeonline
Das Contenido Backend ist in diverse Bereiche eingeteilt, in diiesem Fall ist es die area=con und für jeden Bereich kann es verschiedene Actions geben (z. B. action=con_makeonline).
Wird nun ein Request zum Backend abgesezt, z. B. bei Klick auf "online/offline Stellen", überprüft Contenido, ob in der Tabelle con_actions passend zu area und action ein Codestück enthalten ist. Falls ja, wird dieser Code ausgeführt.
Spalten in der Tabelle con_actions:
Code: Alles auswählen
idaction: Primary key
idarea: Foreign Key (aus Spalte con_area)
alt_name: Alternativer Name der Aktion
name: Name der Aktion
code: Auszuführender Code
location: Verwendung unbekannt
relevant: Schalter ob wichtig oder nicht (genaue Verwendung unbekannt)
Für area=con und action=con_makeonline steht folgendes drin:
Code: Alles auswählen
idaction: 2
idarea: 1
alt_name: 33
name: con_makeonline
code: conMakeOnline ($idart, $lang);
location:
relevant: 1
Das bedeutet, dass dabei die Funktion conMakeOnline ($idart, $lang); ausgeführt wird, die letztendlich den Artikel onile/offline stellt. Da die Funktion im globalen Namensraum ausgeführt wird, stehen alle globalen Variablen zur Verfügung ($idart, $lang).
Dieses Konzept (area und action) zieht sich im Backend auch bei includes (con_files, con__frame_files) und bei Berechtigungen (con_rights) durch.
Es kann sein, dass ich nicht alles detailgetreu beschrieben habe. Diese Bereiche von Contenido sind meines Wissens nirgends richtig Dokumentiert und es gibt wernig Infos darüber.
Gruß
xmurrix