Mailversand mit Hook nach Objekt Erstellung / Änderung

Fragen zum Erstellen von Templates für webEdition.
Benutzeravatar
Finn
Senior Member
Beiträge: 285
Registriert: Mo 3. Apr 2017, 13:37
Wohnort: Bremen
Kontaktdaten:

Mailversand mit Hook nach Objekt Erstellung / Änderung

Beitragvon Finn » Do 21. Apr 2022, 13:34

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
Finn Thorwarth
WG Werbeagentur
https://www.wg-werbeagentur.de

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Mailversand mit Hook nach Objekt Erstellung / Änderung

Beitragvon mokraemer » Do 21. Apr 2022, 14:21

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:

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;
	}
Kannst du das vielleicht dann auch in unserer Doku zu dem Thema ergänzen?
webEdition-Kern-Entwickler

Benutzeravatar
Finn
Senior Member
Beiträge: 285
Registriert: Mo 3. Apr 2017, 13:37
Wohnort: Bremen
Kontaktdaten:

Re: Mailversand mit Hook nach Objekt Erstellung / Änderung

Beitragvon Finn » Do 21. Apr 2022, 14:42

Alles klar, danke! Dann guck ich mal, wie weit ich komme.

Ja pack ich gerne in die Doku rein.
Finn Thorwarth
WG Werbeagentur
https://www.wg-werbeagentur.de

Benutzeravatar
Finn
Senior Member
Beiträge: 285
Registriert: Mo 3. Apr 2017, 13:37
Wohnort: Bremen
Kontaktdaten:

Re: Mailversand mit Hook nach Objekt Erstellung / Änderung

Beitragvon Finn » Do 21. Apr 2022, 15:11

Wie komme ich denn an die alten Werte der Felder?
Finn Thorwarth
WG Werbeagentur
https://www.wg-werbeagentur.de

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Mailversand mit Hook nach Objekt Erstellung / Änderung

Beitragvon mokraemer » Do 21. Apr 2022, 15:36

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.
webEdition-Kern-Entwickler

Benutzeravatar
Finn
Senior Member
Beiträge: 285
Registriert: Mo 3. Apr 2017, 13:37
Wohnort: Bremen
Kontaktdaten:

Re: Mailversand mit Hook nach Objekt Erstellung / Änderung

Beitragvon Finn » Do 21. Apr 2022, 16:36

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.
Finn Thorwarth
WG Werbeagentur
https://www.wg-werbeagentur.de

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Mailversand mit Hook nach Objekt Erstellung / Änderung

Beitragvon mokraemer » Do 21. Apr 2022, 16:46

Die IDs werden idr. nur beim Speichern gesetzt (ModifierID) und die anderen idr nie ausgelesen.
webEdition-Kern-Entwickler

Benutzeravatar
Finn
Senior Member
Beiträge: 285
Registriert: Mo 3. Apr 2017, 13:37
Wohnort: Bremen
Kontaktdaten:

Re: Mailversand mit Hook nach Objekt Erstellung / Änderung

Beitragvon Finn » Mo 25. Apr 2022, 13:04

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?
Finn Thorwarth
WG Werbeagentur
https://www.wg-werbeagentur.de

Benutzeravatar
Finn
Senior Member
Beiträge: 285
Registriert: Mo 3. Apr 2017, 13:37
Wohnort: Bremen
Kontaktdaten:

Re: Mailversand mit Hook nach Objekt Erstellung / Änderung

Beitragvon Finn » Do 21. Jul 2022, 18:03

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:

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':
Finn Thorwarth
WG Werbeagentur
https://www.wg-werbeagentur.de


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: Semrush [Bot] und 12 Gäste