Mam bloga w języku angielskim i japońskim w Drupal 7. Utworzyłem tego bloga przy użyciu niestandardowego typu treści i widoków, a nie wbudowanego modułu blogu.
Mam kanał RSS (utworzony w Widoku) dla każdego języka. Chciałbym zezwolić użytkownikom na subskrypcję, aby otrzymywać wszystkie aktualizacje w języku angielskim do treści typu „blog” lub wszystkie aktualizacje w języku japońskim do treści typu „blog”. (Przewiduję, że większość użytkowników będzie chciała tylko jednego lub drugiego języka. Jeśli użytkownik naprawdę chce obu języków, nie mam nic przeciwko zmuszeniu ich do dwukrotnej subskrypcji).
Spojrzałem na użycie Feedburner na kanałach RSS, ale moduł Feedburner nie został zaktualizowany do D7 i wolałbym nie polegać na usłudze zewnętrznej. (Kiedy próbowałem skonfigurować Feedburner bez modułu, powiedział mi, że mój kanał RSS nie istnieje, mimo że link do pomocy umożliwił mi jego sprawdzenie).
Przyjrzałem się także modułowi Simplenews , ale moduł ten najwyraźniej wymaga osobnego utworzenia każdego postu z biuletynu. Chcę automatycznie subskrybować użytkowników za pośrednictwem poczty e-mail po opublikowaniu aktualizacji na blogu.
Jestem pewien, że istnieje wiele sposobów, aby to zrobić, ale istnieje tak wiele modułów typu „pomocnik poczty”, że nie wiem, od czego zacząć.
Podsumowując moje wymagania, chcę:
- Automatycznie wysyła wiadomości e-mail do subskrybentów, gdy dodawany jest nowy post na blogu w odpowiednim języku.
- Zarówno uwierzytelnieni, jak i anonimowi użytkownicy powinni mieć możliwość subskrybowania.
- Subskrypcje muszą wymagać potwierdzenia (wymóg prawny).
- Zgodność z modułem MIME Mail byłaby miłym dodatkiem .
Można to łatwo zdobyć. Mogę dać ci kilka kroków do naśladowania.
Istnieją w rzeczywistości co najmniej 2 sposoby na osiągnięcie tego
A. Korzystanie z wyzwalaczy (moduł podstawowy)
Najpierw aktywuj wyzwalacze modułu podstawowego. Zapewni to podstawowe wyzwalacze (w Twoim przypadku wyzwalacz UPDATE) i działania, które zostaną uruchomione, gdy warunek zostanie spełniony.
Przejdź do Administrator> Konfiguracja> Działania, następnie UTWÓRZ ZAAWANSOWANE DZIAŁANIE, a następnie wybierz: Wyślij wiadomość e-mail. W polu odbiorcy musisz wybrać odpowiedni token dostarczony przez moduł simplenews, aby pasował do wszystkich zarejestrowanych użytkowników. (upewnij się, że masz również zainstalowany moduł Token)
Przejdź do Administrator> Struktura> Wyzwalacze, a następnie zakładkę Węzeł. Wybierz trzeci: SPUST: PO ZAPISIE ZAKTUALIZOWANEJ TREŚCI.
Jeśli potrzebujesz większej kontroli, zastosuj hak
funkcja YOURMODULE_trigger_info_alter (& $ wyzwalacze) {// Tutaj dpm ($ wyzwalacze), aby zobaczyć, gdzie jest twój wyzwalacz aktualizacji i dokonać zmian. }?>
B. Korzystanie z reguł (moduł contrib) Podstawowy to samo. Jeśli utkniesz, wykonaj następujące kroki w podobnej sprawie na tym blogu: http://adellefrank.com/blog/how-to-email-notifications-comments-drupal7
źródło
Moduł Simplenews robi wszystko, czego potrzebujesz. Można skonfigurować, aby każdy post na blogu automatycznie stał się biuletynem i był wysyłany do subskrybentów. Tylko w konfiguracji Simplenews wybierz typ treści Blog, aby być źródłem biuletynu.
Aby to zrobić:
źródło
Jeśli chcesz to zrobić programowo, zobacz drupal_mail ($ module, $ key, $ to, $ language, $ params = array (), $ from = NULL, $ send = TRUE) ,
Po zaktualizowaniu węzła zostanie uruchomiony hak hook_node_update ($ node) . Jeśli chcesz stworzyć własny skomponowany format poczty, użyj hook_mail ($ key, & $ message, $ params) . Musisz więc napisać 2 hooki najpierw hook_node_update i hook_mail. Wewnątrz hook_node_update musisz napisać funkcję drupal_mail, która wywoła twój hook_mail.
źródło
Możesz użyć mojego modułu piaskownicy Całkowita subskrypcja
Ten moduł znajduje się w kolejce projektów drupal. Oto link do niego: - LINK
Myślę, że zapewni funkcjonalność, której potrzebujesz.
źródło