Ich habe ein Blog in Englisch und Japanisch in Drupal 7. Ich habe dieses Blog mit einem benutzerdefinierten Inhaltstyp und Ansichten erstellt, nicht mit dem integrierten Blog-Modul.
Ich habe für jede Sprache einen RSS-Feed (erstellt in Ansichten). Ich möchte Benutzern erlauben, sich anzumelden, um alle englischsprachigen Updates für den Inhaltstyp "Blog" oder alle japanischsprachigen Updates für den Inhaltstyp "Blog" zu erhalten. (Ich gehe davon aus, dass die meisten Benutzer nur die eine oder die andere Sprache möchten. Wenn ein Benutzer wirklich beide Sprachen möchte, macht es mir nichts aus, sie zweimal abonnieren zu lassen.)
Ich habe versucht, Feedburner für RSS-Feeds zu verwenden, aber das Feedburner-Modul wurde für D7 nicht aktualisiert, und ich möchte mich lieber nicht auf einen externen Dienst verlassen. (Als ich versuchte, Feedburner ohne das Modul einzurichten, wurde mir mitgeteilt, dass mein RSS-Feed nicht vorhanden war, obwohl ich ihn über den Support-Link validieren konnte.)
Ich habe mir auch das Simplenews- Modul angesehen, aber für dieses Modul muss anscheinend jeder Newsletter-Beitrag separat erstellt werden. Ich möchte abonnierte Benutzer automatisch per E-Mail benachrichtigen, wenn ich ein Update im Blog veröffentliche.
Ich bin mir sicher, dass es viele Möglichkeiten gibt, dies zu tun, aber es gibt so viele Module vom Typ "Mail Helper", dass ich nicht weiß, wo ich anfangen soll.
Um meine Anforderungen zusammenzufassen, möchte ich:
- Senden Sie Abonnenten automatisch eine E-Mail, wenn ein neuer Blog-Beitrag in der entsprechenden Sprache hinzugefügt wird.
- Sowohl authentifizierte als auch anonyme Benutzer sollten sich anmelden können.
- Abonnements müssen bestätigt werden (gesetzliche Anforderung).
- Die Kompatibilität mit dem MIME Mail- Modul wäre ein schöner Bonus.
Dies kann leicht erworben werden. Ich kann Ihnen einige Schritte geben, denen Sie folgen müssen.
Es gibt tatsächlich mindestens zwei Möglichkeiten, dies zu erreichen
A. Verwenden von Triggern (Kernmodul)
Aktivieren Sie zuerst die Trigger des Kernmoduls. Auf diese Weise erhalten Sie grundlegende Trigger (in Ihrem Fall UPDATE-Trigger) und Aktionen, die ausgeführt werden können, wenn die Bedingung erfüllt ist.
Gehen Sie zu Admin> Konfiguration> Aktionen, ERSTELLEN SIE EINE ERWEITERTE AKTION und wählen Sie dann: E-Mail senden. Im Empfängerfeld müssen Sie ein geeignetes Token auswählen, das vom simplenews-Modul bereitgestellt wird, um allen registrierten Benutzern zu entsprechen. (Stellen Sie sicher, dass auch das Token-Modul installiert ist.)
Gehen Sie zu Admin> Struktur> Trigger und dann zur Registerkarte Knoten. Wählen Sie den dritten: TRIGGER: NACH DEM SPEICHERN VON AKTUALISIERTEN INHALTEN.
Wenn Sie mehr Kontrolle benötigen, implementieren Sie den Hook
Funktion YOURMODULE_trigger_info_alter (& $ triggers) {// Hier dpm ($ triggers), um zu sehen, wo sich Ihr Update-Trigger befindet, und die Änderungen vorzunehmen. }?>
B. Verwenden von Regeln (Contrib-Modul) Basic das Gleiche. Wenn Sie nicht weiterkommen, befolgen Sie diese Schritte bei einem ähnlichen Problem in diesem Blog: http://adellefrank.com/blog/how-to-email-notifications-comments-drupal7
quelle
Das Simplenews- Modul bietet alles, was Sie brauchen. Es kann konfiguriert werden, dass jeder Ihrer Blog-Beiträge automatisch zu einem Newsletter wird und an Abonnenten gesendet wird. Wählen Sie einfach in der Simplenews-Konfiguration den Inhaltstyp Blog als Newsletter-Quelle.
Um dies zu machen:
quelle
Wenn Sie dies programmgesteuert tun möchten, lesen Sie drupal_mail ($ module, $ key, $ to, $ language, $ params = array (), $ from = NULL, $ send = TRUE) .
Wenn der Knoten aktualisiert wird, wird der Hook hook_node_update ($ node) ausgelöst. Wenn Sie ein eigenes zusammengesetztes Mail-Format erstellen möchten, verwenden Sie hook_mail ($ key, & $ message, $ params) . Sie müssen also zuerst 2 Hooks schreiben hook_node_update und hook_mail. In hook_node_update müssen Sie die Funktion drupal_mail schreiben, die Ihre hook_mail aufruft.
quelle
Sie können mein Sandbox-Modul Gesamtabonnement verwenden
Dieses Modul befindet sich in der Drupal-Projektwarteschlange. Hier ist der Link dafür: - LINK
Ich denke, es wird Funktionalität geben, die Sie benötigen.
quelle