Přeskočit přímo na text


Jak poslat email autorovi nodu po odeslání formuláře (Webform)

Toto je archivovaná verze české komunitní stránky o CMS Drupal. Nejde na ni již přidávat nový obsah. Pro aktuální informace a kontakt s komunitou navštivte Drupal.cz

V tomto návodu vám ukážu jak poslat email autorovi nodu po odeslání formuláře pomocí modulů Webform + Token. Ukážu to na příkladu „když návštěvník odešle webformový blok, pošli email s nadpisem a URL adresou nodu jeho autorovi.“

Pro netrpělivé

Toto je jádro: Aplikujte tuto záplatu na modul Token a použijte token [current-page:node:author:ma­il] jako „adresa příjemce zprávy“.

POZNÁMKA: Tento článek jsem překládal z originálu v angličtině, proto se názvy prvků mohou od těch českých nebo slovenských lišit.

Potřebné moduly na to aby to šlo

Pro požadovanou funkcionalitu budeme potřebovat poslední stabilní verzi modulů Webform, Token, Chaos tool suite a Views (vše základní věci).

Začněme

1. Nejdříve opravíme modul Token s tímto kódem (pokud již byla záplata zahrnuta do jádra modulu, tento krok není aktuální)

POZNÁMKA: Aplikovat záplatu je skutečně jednoduché, můj nejoblíbenější způsob je udělat to ručně. Zde je pár videí jak na to.

2. Vytvoříme nový formulář. V záložce „Složky formuláře“ vybereme základny prvky, hlavně e-mail (typ: e-mail, požadované) a textové pole (textarea, požadované)

Složky formuláře

3. V záložce „E-maily“ začíná trik. Použijte token [current-page:node:author:ma­il] a klikněte na tlačítko „Přidat“. Později vám tento token vysvětlím.

Emaily

4. S tokenem [current-page:title] můžete vylepšit předmět zprávy. Odeslán email bude obsahovat nadpis (titulek) současné stránky (stránky, ze které se odeslal formulář).

Jako „E-mailovou adresu odesílatele“ použijte adresu svázanou s doménou stránky, jinak většina poskytovatelů poštovních schránek bude považovat vaši zprávu za SPAM. Nepoužívejte složku „odeslán e-mail“. Jako hodnotu „jméno odesílatele“ použijte např. název stránky.

mail]

5. Vylaďte tělo zprávy. Pod cestou „Zobrazit dostupné tokeny> současná stránka“ je k dispozici ještě jeden „očividný“ token (vedle [current-page:title], o kterém jsem již psal). Je to [current-page:url].

Proč jsem napsal „očividný“? Protože je tu ještě „divný“ token s názvem [current-page:query:?] (v mé verzi modulu, v budoucnu se to může změnit). Tento token dělá hlavní trik: zpracuje email autora současného nodu. Moje část „query:?“ je „node:author:ma­il“.

Tento „divný“ token může vytáhnout každé pole ze současného uzlu a vložit jej do zprávy. Například token pro datum přidání současného uzlu bude vypadat jako:

[current-page:query:?] + [node:created] = [current-page:node:created]

Tokeny

Bonus: Reply-to vylepšení

Jak jsem psal, nepoužívejte hodnotu odeslanou uživatelům do kolonky „emailová adresa odesílatele“. Velký poskytovatelé Inboxu (Gmail) to označí jako spam. Většina hostingových společností vám to i tak nedovolí udělat (hostingy nemají právo odesílat elektronickou poštu jménem domén, které nespravují). Někteří tvůrci stránek na Drupalu, se diví proč se jejich emaily nedoručují – tak přesně pro toto.

Ale vzniká problém. Kdy příjemce zprávy (autor současného uzlu) klikne na tlačítko „odpovědět na zprávu“, zpráva bude doručena na naši „noreply@example.com“, ne uživateli, který odeslal formulář.

Je nějaké řešení? Je – modul se jmenuje „Webform Reply To“ a specifikuje „Reply-To“ (odpověz na) detail v hlavičce emailu (zvolte složku „email odeslán uživatelem“).

Reply-To address

6. Uložte nastavení a klikněte na záložku „Nastavení formuláře“, pod „Pokročilé nastavení“ zaškrtněte „Dostupný jako blok“ a uložte. Nyní bude možné s formulářem pracovat jako s blokem.

Available as block

7. Jděte do „Struktura> Bloky“ a nastavte nový webformulárový blok.

Enable the block

Já jsem umístil ten můj do oblasti „Obsah“ a zapnul pouze pod typem uzlů „Fotka“.

Block settings

Také nezapomeňte určit zakázané stránky. Použijte „node / * / * “ (bez mezer) aby se předešlo zobrazování bloku i na stránkách node/*/edit a node/*/delete. Po dokončení uložte nastavení.

Block settings

8. Hotovo! Takto bude vypadat formulář pod zapnutým typem uzlu. Nadpis uzlu je „Sample photo“.

Sample photo

Takto vypadá obsah odeslaného formuláře ve schránce autora současného uzlu.

Výsledek

Demo

Dogva.com – v každém profilu chovatelské stanice je formulář na kontaktování chovatele (autora uzlu).

Závěr

Webform je skvělý, chytrý modul. Nyní víte jak odesílat email autorovi nodu. Každý veřejný formulář tohoto typu však potřebuje ochranu proti spamu. Na ochranu modulu Webform se v CMS Drupal běžně používá modul Captcha, který ale znefunkční cachování stránek, na kterých je zapnutý. Jak se vypořádat s tímto problémem vám prozradím v dalším blogu.

PřílohaVelikost
webform-contact-author.jpg31.22 KB
webform-contact-author-block-settings.jpg38.19 KB
webform-contact-author-block-settings-pages.jpg43.3 KB
webform-contact-author-components.jpg35.72 KB
webform-contact-author-email-blocks.jpg13.23 KB
webform-contact-author-email-reply-to.jpg37.8 KB
webform-contact-author-emails.jpg31.39 KB
webform-contact-author-emails-block.jpg31.53 KB
webform-contact-author-email-to.jpg84.14 KB
webform-contact-author-gmail.jpg42.29 KB
webform-contact-author-template.jpg97.93 KB
 

Luka tersiram Air Panas

http://goo.gl/1ftW9l

Bezpečnost Drupalu

Z hlediska bezpečnosti je Drupal na velmi vysoké úrovni, díky propracovanému systému hlášení, prověřování a řešení možných problémů.

Čtěte více a odebírejte bezpečnostní aktuality

Poslední komentáře

Kdo je online

Momentálně je online 1 uživatel a 4 hosté.

Online uživatelé

Support

Psychologie - poradenství