[2138 Aufrufe]

5.18 Hooks: newsletter

In diesem Abschnitt beschäftigen wir uns mit den Hooks für die Newsletter.

Hook: activateRecipient

Der activateRecipient Hook wird aufgerufen, wenn ein Abonent zu einem Newsletter hinzugefügt wird.

Registrierung

# /src/Ctocb/Example/Resources/config/services.yml
services:

  # Hooks
  Ctocb\Example\Classes\Contao\Hooks\ExampleHook:
    public: true
    tags:
      - { name: contao.hook, hook: activateRecipient, method: handleHook, priority: 1024 }

Klasse

<?php

namespace Ctocb\Example\Classes\Contao\Hooks;

class ExampleHook {

    public function handleHook(string $email, array $recipientIds, array $channelIds): void
    {
        // Do something ...
    }
}

Parameter:

Parameter Typ Beschreibung
$email string Die E-Mail-Adresse des Aboneten
$recipientIds array Array mit den Ids von den Abonenten, die diese E-Mail-Adresse nutzen
$channelIds array Arrays mit den Ids der Archive, die aboniert werden sollen

Rückgabewert:

keiner

Referenz im Contao Core: \Contao\ModuleSubscribe#L229-L237

Hook: removeRecipient

Der removeRecipient Hook wurde bereits unter "Hooks: modules" besprochen.

Hook: sendNewsletter

Der sendNewsletter Hook wird aufgerufen, wenn ein Newsletter verschickt wird.

Dieser Hook ist veraltet und kann unter Contao 5 nicht mehr verwendet werden!

Registrierung

# /src/Ctocb/Example/Resources/config/services.yml
services:

  # Hooks
  Ctocb\Example\Classes\Contao\Hooks\ExampleHook:
    public: true
    tags:
      - { name: contao.hook, hook: sendNewsletter, method: handleHook, priority: 1024 }

Klasse

<?php

namespace Ctocb\Example\Classes\Contao\Hooks;

use Contao\Database\Result;
use Contao\Email;

class ExampleHook {

    public function handleHook(Email $email, Result $newsletter, array $recipient, string $text, string $html): void
    {
        // Do something ...
    }
}

Parameter:

Parameter Typ Beschreibung
$email \Contao\Email Instanz der E-Mail des Newsletters
$newsletter \Contao\Result Instanz des Datenbankresultats aus tl_newsletter
$recipient array Assoziatives Arrays mit den Daten der Empfänger
$text string Inhalt des Newsletters als Text
$html string Inhalt des Newsletters als HTML

Rückgabewert:

keiner

Referenz im Contao Core: \Contao\Newsletter#L404-L412