Seite 1 von 1

Alte und geänderte Daten im Hook verfügbar?

Verfasst: Do 4. Apr 2013, 19:49
von AndreasWitt
... besteht auch die Möglichkeit im Hook auf die Daten zuzugreifen, die vor dem Speichern in der DB standen?

Szenario: Redakteur ändert "Titel" und ich möchte im Hook den neuen Titel mit dem alten Titel speichern. Müsste sich ja auf jeden Fall ja über die Versionierung lösen lassen, wenn diese aktiv ist, oder?

Lässt sich so etwas auch ohne Versionierung realisieren?

Grüße, Andreas

Re: Alte und geänderte Daten im Hook verfügbar?

Verfasst: Do 4. Apr 2013, 19:59
von ThomasGoebe
Hallo Andreas,

m.E. könntest Du über initbyID das Dokumente / Objekt im Hook selbst initialisieren und hättest somit die "alten" Daten. Das geht natürlich nur bei einem Hook vor dem Speichern.

Aber vielleicht geht das auch viel einfacher, da ist Marc gefragt.

Re: Alte und geänderte Daten im Hook verfügbar?

Verfasst: Do 4. Apr 2013, 21:32
von mokraemer
Thomas Vorschlag erscheint mir die einfachste Variante zu sein.

Re: Alte und geänderte Daten im Hook verfügbar?

Verfasst: Do 4. Apr 2013, 21:45
von AndreasWitt
... OK, dann müsste ich also den preSave Hook nutzen und nicht den Save Hook,richtig?

Re: Alte und geänderte Daten im Hook verfügbar?

Verfasst: Do 4. Apr 2013, 23:01
von mokraemer
im Save Hook sind die neuen Daten bereits in der DB. Der Presave wird aufgerufen bevor die Daten gespeichert werden - aber intern sind alle Daten bereits auf dem Objekt gesetzt.

Re: Alte und geänderte Daten im Hook verfügbar?

Verfasst: Fr 5. Apr 2013, 12:01
von AndreasWitt
... mit dem preSave Hook funktioniert es bestens :)

Muss ich eigentlich im Hook so etwas wie:

Code: Alles auswählen

include_once $_SERVER['DOCUMENT_ROOT'].'/webEdition/we/include/we.inc.php';
		include_once $_SERVER['DOCUMENT_ROOT'].'/webEdition/we/include/we_modules/object/we_objectFile.inc.php';
machen oder ist das bereits via AutoLoader verfügbar?

Re: Alte und geänderte Daten im Hook verfügbar?

Verfasst: Fr 5. Apr 2013, 17:29
von mokraemer
same as usal. Du wirst aus WE aufgerufen - also kümmer' Dich um nichts. Das macht WE für Dich.


Du mußt nur includes für deinen eigenen Kode einfügen bzw. wenn du Aufrufe ohne WE machst und danach Kode von WE nachladen willst - aber auch da benötigst du nur die we.inc - sie lädt vielleicht dann mehr wie du brauchst, dafür mußt du dich aber um nichts mehr kümmern.