Seite 1 von 1

Tabelle con_actions ... wofür ist die?

Verfasst: Di 23. Dez 2008, 13:15
von rethus
In der Tabelle con_actions sind hier und da Code-fragmente enthalten, aber nicht überall.

Wofür ist denn diese Tablle eigentlich vorgesehen?

Re: Tabelle con_actions ... wofür ist die?

Verfasst: Mi 24. Dez 2008, 15:55
von xmurrix
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