Moin Moin,
ich habe bisher noch kaum Erfahrungen mit Hooks, hat jemand ein Beispiel wie man in WE 9.x einen Mailversand mit Hilfe eines Hooks realisiert?
LG
Finn
Mailversand mit Hook nach Objekt Erstellung / Änderung
Re: Mailversand mit Hook nach Objekt Erstellung / Änderung
das ist nicht weiter kompliziert. Du nimmst den Hook aus
samples/hook/we_hook_publish.class.php
und kopierst den nach
custom/hook/we_hook_publish.class.php
Als Anpassung kannst du dann in der execute-Methode anpassen:
Kannst du das vielleicht dann auch in unserer Doku zu dem Thema ergänzen?
samples/hook/we_hook_publish.class.php
und kopierst den nach
custom/hook/we_hook_publish.class.php
Als Anpassung kannst du dann in der execute-Methode anpassen:
Code: Alles auswählen
public function execute(): bool{
switch(get_class($this->obj)){
case 'we_contents_objectFile':
we_mail('ich@ich.de', 'Änderung Objekt ' . $this->obj->ID, 'Das Objekt wurde geändert');
break;
}
return true;
}
webEdition-Kern-Entwickler
Re: Mailversand mit Hook nach Objekt Erstellung / Änderung
Alles klar, danke! Dann guck ich mal, wie weit ich komme.
Ja pack ich gerne in die Doku rein.
Ja pack ich gerne in die Doku rein.
Re: Mailversand mit Hook nach Objekt Erstellung / Änderung
Wie komme ich denn an die alten Werte der Felder?
Re: Mailversand mit Hook nach Objekt Erstellung / Änderung
im publish hook gar nicht mehr, da sind die Daten in die DB geschrieben. Im prePublish hook sind die Daten nur im Objekt, aber in der DB noch nicht geschrieben.
Ein explizites "vorher/nachher" im Objekt haben wir nicht - hat es bisher nicht gebraucht.
Ein explizites "vorher/nachher" im Objekt haben wir nicht - hat es bisher nicht gebraucht.
webEdition-Kern-Entwickler
Re: Mailversand mit Hook nach Objekt Erstellung / Änderung
Alles klar.
Ich habe in dem obj dann ja auch Zugriff auf die
WebUserID
CreatorID
ModifierID
Allerdings sind die alle 0. Oder heißt 0 in dem Fall der webUser mit der ID 1?
Und ich müsste ja über die ID des Creators an die Felder des webUsers kommen um z.B dem creator des Objects (angelegt über Frontend)
eine Nachricht zu senden, dass sich z.B. das Feld Status geändert hat.
Ich habe in dem obj dann ja auch Zugriff auf die
WebUserID
CreatorID
ModifierID
Allerdings sind die alle 0. Oder heißt 0 in dem Fall der webUser mit der ID 1?
Und ich müsste ja über die ID des Creators an die Felder des webUsers kommen um z.B dem creator des Objects (angelegt über Frontend)
eine Nachricht zu senden, dass sich z.B. das Feld Status geändert hat.
Re: Mailversand mit Hook nach Objekt Erstellung / Änderung
Die IDs werden idr. nur beim Speichern gesetzt (ModifierID) und die anderen idr nie ausgelesen.
webEdition-Kern-Entwickler
Re: Mailversand mit Hook nach Objekt Erstellung / Änderung
Verstehe, das bedeutet, ich muss mir dann wahrscheinlich selbst was basteln.
Komme ich denn mit der UserID z.B. an eine Mailadresse im Hook? Oder geht das aus Sicherheitsgründen nicht?
Komme ich denn mit der UserID z.B. an eine Mailadresse im Hook? Oder geht das aus Sicherheitsgründen nicht?
Re: Mailversand mit Hook nach Objekt Erstellung / Änderung
Bei dem Hook "publish" kann ich ja über den switch mithilfe der klasse obj checken ob ein Objekt oder Dokument veröffentlicht wurden, in dem Hook "prePublish" komme ich an die Infos aber so nicht dran. Gibts da einen anderen Weg?
Hier mal der Ausschnitt, den ich meine:
Hier mal der Ausschnitt, den ich meine:
Code: Alles auswählen
class we_hook_publish extends we_hook_base
{
/** @var we_document_base */
protected $obj;
/** @var ?DateTime */
protected $prePublishTime;
public function __construct(we_hook_handler $handler, array $params)
{
parent::__construct($handler, $params);
$this->prePublishTime = $params['prePublishTime'];
$this->obj = $params['obj'];
}
public function execute(): bool
{
switch (get_class($this->obj)) {
case 'we_contents_objectFile':
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste