Ereignis abfragen, wenn ein Inhalt per Zeitsteurerung veröffnetlicht wird

  • mccoy mccoy
    Padawan
    0 x
    40 Beiträge
    0 Hilfreiche Beiträge
    01. 02. 2009, 12:22

    Hallo,

    ich baue gerade eine Extension (meine erste), bei der man Kategorien der tt_news abonnieren kann und dann eine E-Mail bekommt, wenn aus den gewählten Kategorien etwas veröffentlicht wird.

    Ich weiß, dass sowas auch per direct_mail geht, was aber nicht meine Anforderungen entspricht. Es klappt auch alles schon soweit ganz gut.

    Leider habe ich das Problem, wenn News zeitgesteuert veröffentlicht werden, kann ich das Ereignis dazu nicht abfragen. Konkret möchte ich, dass die Mail verschickt wird, wenn die zeitgesteuerte News auf der Webseite erscheint.

    Mir fehlt dazu schon mal das Hintergrundwissen, wie TYPO3 die Zeitsteuerung prinzipiell handhabt.

    Hat jemand eine Idee wie dieses Ereignis abfragen kann? Oder wo dieser Prozess beschrieben wird?

    Vielen Dank!

    Grüße


  • 1
  • just2b just2b
    TYPO3-Yoda
    0 x
    18741 Beiträge
    2 Hilfreiche Beiträge
    01. 02. 2009, 13:21

    Hallo,

    für einfach mal das aus > echo $this->cObj->enableFields('tt_news');

    das generiert die korrekte where-clause für tt_news (exkl der kategorien und pid usw)

    georg

  • mccoy mccoy
    Padawan
    0 x
    40 Beiträge
    0 Hilfreiche Beiträge
    01. 02. 2009, 17:37

    Hallo Georg,

    vielen Dank für die Antwort. Auf diese Funktion bin ich auch schon gestoßen. Ich denke damit komme ich aber nicht weiter.

    Bisher habe ich immer das Ereignis "News erstellen" und "News updates" als Ereignis nehmen können um meine Benachrichtigungsmails zu verschicken. Dazu gibt es schon einen fertigen Hook.

    In etwa so:

    1. <?
    2. function processDatamap_postProcessFieldArray ($status, $table, $id, &$fieldArray, &$reference)
    3. {
    4. //Neue News
    5. if($table == 'tt_news' && $status == 'new' )
    6. {
    7. ...
    8. }
    9. //News update
    10. if($table == 'tt_news' && $status == 'update' )
    11. {
    12. ...
    13. }
    14. }
    15. ?>

    Bei der zeitgesteuerten Veröffentlichung weiß ich nicht welches Ereignis ich abrfagen kann. Wie handhabt TYPO3 das? Wird die von dir genannte Funktion immer ausgeführt wenn die Seite (FE) geladen wird?

  • just2b just2b
    TYPO3-Yoda
    0 x
    18741 Beiträge
    2 Hilfreiche Beiträge
    01. 02. 2009, 17:53

    ja die wird immer ausgeführt wenn das FE geladen wird.

    ich würd mir eine temporäre tabelle basteln, die mit zeitgesteuerten inhalten gefüllt wird, dazu noch einen hook von tt_news verwenden und immer wenn die single view aufgerufen wird und das ein zeitgesteuerter datensatz ist, dann wird geschaut ob dieser in der tabelle steht. wenn ja, dann schick was raus, wenn nein, dann ist das schon getan

    georg

  • mccoy mccoy
    Padawan
    0 x
    40 Beiträge
    0 Hilfreiche Beiträge
    01. 02. 2009, 21:24

    Okay, das hilft mir schon mal weiter. Dann werde ich diesen Ansatz mal verfolgen.

    Besten Dank erstmal - ich melde mich wenn ich weitergekommen bin.

    Grüße

  • mccoy mccoy
    Padawan
    0 x
    40 Beiträge
    0 Hilfreiche Beiträge
    01. 02. 2009, 22:07

    Habe doch noch eine Frage dazu. Über welchen Hook kann ich das Ereignis abfragen, dass jemand die Single Seite der News angesehen hat? Ich habe dazu in der Doku nicht gefunden...

    Grüße

  • just2b just2b
    TYPO3-Yoda
    0 x
    18741 Beiträge
    2 Hilfreiche Beiträge
    02. 02. 2009, 08:47

    extraItemMarkerHook und darin zB auf $pObj->config['code'] abfragen, dann weißt du ob SINGLE oder LIST usw

    georg

  • 1