Wyślij e-mail z powiadomieniem po dodaniu nowej treści

11

Niektóre osoby odmawiają zapoznania się z RSS i żałują, że nie mogą przekazać mi (np. Za pośrednictwem formularza) wiadomości e-mail (bez rejestracji) i będą automatycznie powiadamiane o nowej treści.

Czy możesz mi pomóc, jak osiągnąć tę funkcjonalność w Drupal 7? Słyszałem o trzech modułach, które mogłyby pomóc: Reguły, Subskrypcje i Powiadomienia. Tylko pierwsze działa pod Drupalem 7. Czy możesz skonfigurować tę funkcjonalność za pomocą odpowiedniego modułu?

xralf
źródło
Kiedy mówisz „bez rejestracji”, czy masz na myśli, że chcą być w stanie otrzymywać powiadomienia o nowych treściach bez konieczności posiadania konta w Twojej witrynie?
kiamlaluno
@kiamlaluno, dokładnie, to dziwny wymóg. Nie chcą mieć zarejestrowanych użytkowników, ale chcą powiadomienia e-mail. Rozumiem, że jest to trochę kłopotliwe (jest to strona firmy i odwiedzający będą ich pracodawcami), więc myślę, że powinienem zbierać ich e-maile, a następnie nie przyjmować nowych e-maili z powodu możliwości spamu.
xralf
To dość dziwny wymóg, który eliminuje wielu potencjalnych kandydatów.
kiamlaluno

Odpowiedzi:

19

Reguły są do tego najlepsze, zależy to od interfejsu API jednostki.

  • Proste pobieranie i włączanie ich z poziomu Administratora -> Moduły
  • Teraz postępuj zgodnie z Admin -> Konfiguracja -> Przepływ pracy -> Reguły
  • Kliknij Add new rule
  • Zdefiniuj nazwę, np. "New content email notification"Wybierz 'After Saving new content'z React on event event box i wciśnij Save
  • Na następnej stronie zdarzenie jest już zdefiniowane, nie jest wymagany żaden warunek do zdefiniowania tutaj, przejdź do sekcji Działanie i naciśnij Add action
  • Wpisz adres e-mail odbiorcy w Topolu
  • Wypełnij temat i wiadomość, z pól. (Dostępnych jest kilka wzorów zastępczych, które można zawrzeć w tekście)

np. Nowa treść [węzeł: tytuł] dodany przez [węzeł: autor] typu [węzeł: typ] w [węźle: utworzono].

  • Hit save
  • W zestawie pól ustawień upewnij się, aby zaznaczyć Activepole wyboru.
Shoaib Nawaz
źródło
Dziękuję za tę idealną odpowiedź. Działa, ale zapisuje ten komunikat o błędzie dopiero po utworzeniu nowej zawartości. Notice: Undefined offset: 0 in node_tokens() (line 140 of /var/www/modules/node/node.tokens.inc).Czy myślisz, że mogę to naprawić?
xralf
A zapisywanie nowych treści jest teraz bardzo wolne. Wygląda na to, że wysyła wiadomość e-mail podczas zapisywania. Sprawdziłem konfigurację, czy mogę wysłać wiadomość e-mail 2 minuty po utworzeniu nowego węzła, ale wydaje się, że nie ma takiej opcji.
xralf
7

... alternatywnie, jeśli musisz to zrobić programowo (nie poprzez moduł Rules ), możesz podłączyć się do hook_node_insert () i pobrać obiekt $ node, a następnie zrobić z nim, co chcesz.

geerlingguy
źródło
2

Reguły zrobią dokładnie to:

Przykładowe przypadki użycia
- Twórz elastyczne zmiany w przepływach pracy publikowania treści
- Wysyłaj niestandardowe wiadomości e-mail, aby powiadamiać użytkowników o ważnych sprawach -
Twórz niestandardowe przekierowania, wiadomości systemowe, okruszki…

Potrzebujesz pomocy w konfiguracji?

tostinni
źródło
Jeśli masz doświadczenie w konfiguracji, to byłbyś miły. Nie byłem pewien, czy zadziała tak, jak potrzebuję, więc raczej zapytałem.
xralf
Jak zmusić system do wysyłania powiadomień z reguły np. Co 2 godziny i podsumowania wszystkich nowych treści? Nie jestem pewien, czy powinienem zadać nowe pytanie w tej sprawie.
Azz Kawa