[Frage] E-Mail Benachrichtigung an FE_User TYPO3-Version: 8.7.13

  • livedesign24 livedesig...
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    13. 03. 2019, 10:40

    Hallo zusammen,

    ich habe eine kleine Erweiterung geschrieben.

    Die Erweiterung ist eine Projektverwaltung. In diesem Projekt ist eine zuständige Person "project_contact_person" und ein Erinnerungsfeld (Datum) "project_notification" hinterlegt.

    Nun möchte ich, dass die zuständige Person (FE_User inkl. E-Mail Adresse) eine E-Mail bekommt, mit der Erinnerung und um welches Projekt es geht (uid, project_name).

    Dazu habe ich in der ext_localconf.php einen Task registriert:

    [code]$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks']['MyExt\MyExtName\Task\Task'] = array(
    'extension' => $_EXTKEY,
    'title' => 'E-Mail Benachrichtigung',
    'description' => 'Task der eine E-Mail Benachrichtigung verschickt',
    );
    [/code]

    und unter "Classes" einen Ordner Namens "Task" und dort "Task.php" mit folgendem Inhalt:

    [code]<?php
    namespace MyExt\MyExtName\Task;

    use TYPO3\CMS\Core\Utility\GeneralUtility;

    class Task extends \TYPO3\CMS\Scheduler\Task\AbstractTask {
    public function execute() {

    // Code

    $mail = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Mail\MailMessage::class);
    $mail

    // Give the message a subject
    ->setSubject('Your subject')

    // Set the From address with an associative array
    ->setFrom(array('mail@mail.de' => 'PDB'))

    // Set the To addresses with an associative array
    ->setTo(array('mail@mail.de' => 'PDB'))

    // Give it a body
    ->setBody($body)

    // And finally do send it
    ->send();

    return TRUE; // or false
    }
    }
    ?>
    [/code]

    Nun weiß ich nur leider nicht, wie ich die Datumsabfrage und den $body ordentlich befüllt bekomme.

    Hoffentlich könnt ihr mir helfen.

    Viele Grüße


  • 1
  • Drusilla Drusilla
    R2-D2
    0 x
    92 Beiträge
    1 Hilfreiche Beiträge
    18. 03. 2019, 14:01

    Bin nicht sicher ob ich dein Problem richtig verstehe. Du möchtest wahrscheinlich wissen, wie du aus dem Task auf die Daten deiner Extension zugreifen kannst.

    Dazu musst du im Task dein Repository über den Objekt-Manager laden, dann kannst du ganz normal drauf zugreifen:
    [code]$this->objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\CMS\Extbase\Object\ObjectManager');
    $myRepository = $this->objectManager->get('MyExt\MyExtName\Domain\Repository\MyRepository');
    $myData = $myRepository->findAll();
    [/code]

    Hilft dir das?

  • 1