Aktion bei Änderung eines Kategorienamens möglich?

Wie verwendet man Module oder Aktion und passt diese an.

Aktion bei Änderung eines Kategorienamens möglich?

Beitragvon cervelat » 11. Jun 2008, 14:34

Hallo,

ich baue gerade ein XML-Output für ein Redaxo-Backend. Jetzt stellt sich mir die Frage, ob es möglich ist, beim Hinzufügen/Bearbeiten eines Kategorienamens (innerhalb einer gegebenen Kategorie) eine Aktion zu starten und diese geänderten Kategorienamen ausliest?

Im System wird ja folgender Link benutzt, um einen Kategorienamen zu ändern:
Code: Alles auswählen
index.php?page=structure&category_id=xx&edit_id=xx&function=edit_cat&clang=0


Danke im Voraus für Antworten!

Grüsse,
David
cervelat
 
Beiträge: 94
Registriert: 7. Mai 2008, 21:32

Beitragvon ssurfer » 11. Jun 2008, 15:34

Dafür gibt es die Extension Points.

EP API
EP Sammlung

Kannst du ganz einfach in einem simplen Addon verpacken. Einfach in der config die EP's einbinden.

Ob es über eine Aktion geht, kann ich dir leider nicht sagen, sorry.
ssurfer
 
Beiträge: 170
Registriert: 21. Nov 2007, 09:36

Beitragvon cervelat » 11. Jun 2008, 15:40

Danke ssurfer, das werde ich mir mal anschauen!
cervelat
 
Beiträge: 94
Registriert: 7. Mai 2008, 21:32

Beitragvon cervelat » 23. Jun 2008, 16:10

Hallo,

ich hab mir die Extension Point API angeschaut, aber so richtig werde ich noch nicht schlau daraus.

Mein Ziel ist, bei bestimmten Extension Points (CAT_ADDED, CAT_UPDATED, ART_UPDATED, ART_DELETED) eine Aktion auszulösen.

Wenn ich es richtig verstanden habe, sind die o.g. EP's schon registriert? D.h. würde es reichen, wenn ich mit

Code: Alles auswählen
rex_register_extension('CAT_ADDED', 'meineFunktionDieEineAktionAusloest');

meine Funktion aufrufe die eine Aktion aufruft? Benötige ich dafür ein Addon? Oder reicht das obige Statement? Oder wie muss der Code zum Aufrufen der Funktion aussehen? Und: an welcher Stelle im System müssen der Code und die Funktion stehen?

Hoffentlich kann jemand Licht ins Dunkel bringen :roll:

Gruß,
David
cervelat
 
Beiträge: 94
Registriert: 7. Mai 2008, 21:32

Beitragvon Markus.Staab » 23. Jun 2008, 16:30

Hi David,

in normalfall registriert man seine Extension in der config.inc.php eines Addons. Diese eine Anweisung ist genug, da wie du richtig sagst, die EPs im Kern selbst bereits registriert wurden.

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon cervelat » 23. Jun 2008, 18:40

Hallo Markus,

danke für die Antwort. Das heißt, daß ich
1. ein Addon benötige,
2. und im Addon dann der Extension Point registriert ist bzw. die Funktion definiert ist, die die jeweilige Aktion auslöst?
3. Brauche ich für jeden EP ein eigenes Addon oder kann ich in einem Addon verschiedene EPs registrieren?

Danke im Voraus für alle weiteren Antworten.

Grüße,
David
cervelat
 
Beiträge: 94
Registriert: 7. Mai 2008, 21:32

Beitragvon Markus.Staab » 23. Jun 2008, 19:23

Hi David,

Evtl hilft dir dieses Addon, hab es aber noch nie verwendet:
http://www.redaxo.de/180-Addondetails.html?addon_id=242

zu 1) Ja
zu 2) Du registrierst in der config.inc.php des Addons eine Extension, keinen Extension Point.
zu 3) du kannst in einem Addon beliebig viele EPs benutzen/Extensions registrieren.

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon cervelat » 23. Jun 2008, 19:53

Vielen Dank Markus, das schau ich mir an.

Eine Frage hab ich noch: wie teile ich der Funktion mit, daß sie eine bestimmte Aktion ausführen soll?

Grüße,
David
cervelat
 
Beiträge: 94
Registriert: 7. Mai 2008, 21:32

Beitragvon Markus.Staab » 24. Jun 2008, 08:37

Hi,

welche Aktion möchtest du denn ausführen?
Redest du von einer Aktion die man an Module anhängen kann (also eine ACTION) ? Ich bin die ganze Zeit davon ausgegangen, dass du einfach allgemein davon sprichst, dass du irgendwelchen Code ausführen willst...?

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon cervelat » 24. Jun 2008, 13:10

Hallo Markus,

da hab ich mich wohl etwas unklar ausgedrückt. Ich möchte eine ACTION ausführen, die ja normalerweise an ein Modul geknüpft ist. Es geht darum, eine XML-Datei mithilfe einer Action neu zu schreiben, sobald bestimmte Kategorie- oder Artikelname hinzugefügt bzw. geändert werden.

Gruss,
David
cervelat
 
Beiträge: 94
Registriert: 7. Mai 2008, 21:32

Beitragvon Markus.Staab » 24. Jun 2008, 13:44

Hi David,

dann würde ich eine Funktion in deinem Addon definieren, die einmal via Action aufgerufen wird und einmal via EP.

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon cervelat » 24. Jun 2008, 14:17

Jetzt bin ich etwas verwirrt. Mein Ziel ist, eine XML-Datei zu schreiben, wenn Kategorie- oder Artikelnamen hinzugefügt/geändert werden. Dabei ist mir egal, wo der Code zum Schreiben der XML-Datei liegt, von mir aus muss er nicht in einer Aktion verpackt sein, die einfachste Lösung ist gesucht :wink:

Ich hatte es so verstanden, dass der Code zum Schreiben der XML-Datei über eine Funktion (innerhalb eines Addons) aufgerufen werden muss, wenn der entsprechende EP (CAT_ADDED, CAT_UPDATED...) aufgerufen wird?

Gruss,
David
cervelat
 
Beiträge: 94
Registriert: 7. Mai 2008, 21:32

Beitragvon Markus.Staab » 24. Jun 2008, 14:24

Hi David,

wenn du das XML schreiben willst, wenn sich eine Kategorie geändert wird, dann machst du dir ne Extension, die an den entsprechenden Extension Points andockt und fertig.

Ich weiß nicht wie du auf einmal auf AKTIONEN gekommen bist...?

Aktionen und Extension Points haben prinzipiell erstmal nix miteinander zu tun. Natürlich kann man diese kombinieren, aber ich wüßte jetzt nicht warum du das brauchen solltest. Probier einfach mal aus..:)

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon cervelat » 24. Jun 2008, 14:35

Ich bin nur deshalb auf Aktionen gekommen, weil der Code zum Schreiben der XMLs hier im System bisher in Aktionen abgelegt ist...Deshalb wollte ich gerne eine bestimmte Aktion aufrufen. Aber dann packe ich den Code einfach in eine Funktion innerhalb der Extension.

Danke und Gruss,
David
cervelat
 
Beiträge: 94
Registriert: 7. Mai 2008, 21:32


Zurück zu Module/Aktionen [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast