Forma zpětné vazby Modx Revo Generator. Modx - formulář zpětné vazby (formit)

V Modx je zajímavá příležitost - můžete změnit vzhled Editace zdrojů se provádí prakticky, jak chcete. Kromě toho můžete provést různé formy pro různé skupiny uživatelů, a to i pro různé zdroje. Můžete si vybrat různé profily formuláře tohoto zdroje V závislosti na jeho šabloně, rodiči nebo jiných vlastnostech.

A pro to nemusíme napsat jeden řádek kódu!

Podívejme se, co můžete například dělat s formami:

Za prvé odstraňte zbytečné horní položky nabídky na jednu obecnou položku - "Developer". Chcete-li to provést, přejděte do sekce "System" Section -\u003e "Akce", vytvořte novou položku menu v kořenovém adresáři a přetáhněte všechny zbytečné body:

Další Přejděte do sekce "Security" -\u003e "Nastavení formulářů" a vytvořte nový profil například "Správce obsahu". Poté jej stiskněte pravým tlačítkem myši a vyberte možnost Upravit ", přejděte na kartu" Skupiny uživatelů "a přidejte skupinu, do které budou použita nová pravidla.

Dále vytvoříme nový soubor pravidel. Jejich dva typy jsou pro formulář pro vytváření zdrojů, druhý - pro formulář pro úpravy a aktualizaci (vytváření a aktualizace). Tato pravidla mohou být poněkud - alespoň pravidlem pro každý zdroj.

Po vytvoření pravidla se zobrazí stránka Nastavení - Existují tři záložky: Informace o sadě pravidel, oblastí, dalších polí.

První karta uvádí standardní pole prostředků. Mohou být vypnuty nebo přejmenovány. Regiony jsou záložky ve zdroji. Můžete vytvořit novou oblast a umístit některé televizní parametry, pak budou mít zdroj na kartě "Další pole" a na nový příspěvek zadáte. Zde můžete zakázat standardní karty, například "Skupiny zdrojů".

Na třetím záložce určete umístění parametru televizoru.

Udělal jsem malou postýlku ve standardních regionech:



Takže, pojďme okamžitě odstranit všechny záložky pro uživatele, kromě první. Odstraňujeme klíšťata z oblastí: Modx-Settings-Settings, Modx-Panel-Resource-TV, MODX-Resource-Access-oprávnění. Dále - ze standardních polí opustí pouze pagetitle a alias. Zbytek zaškrtávacích polí jsou vyčištěny. Zadejte nový název pole Pagetitle: "Novinový titul" a alias: "Adresa stránky".

Poté přejděte na kartu "Další pole" a označte, že televizní parametry musí být v jedné nebo jiné oblasti formuláře (podle postýlky).

Zbývá specifikovat, pro jaké zdroje je toto pravidlo platné - v bodě odstavce Vzor označujeme zdroje, se kterými šablony aplikovat pravidlo. Pokud je pravidlo pro všechny šablony, nic nezadávám. A existují dvě položky: "Omezující pole" a "omezující význam". Zde můžete zadat zbytek polí.

Upozorneme na to, že toto pravidlo odkazuje na prostředky v "Novinky" - v odstavci "Omezující pole" rodič.a v "Omezit hodnotu" ID zdroje "Novinky", například 22 .

Už mám pár lekcí k vytvoření forem na formit ve svazku C - Tento svazek má jako výhody: odesílání formulářů bez restartování, tam je plavecké okno, které je odeslána zpráva, atd. V souladu s tím jsou minusy: JS a kód přidány k kódu. cSS soubor. - Co dává mínus k rychlosti a ve výstupu JS není nezbytným typem hovoru, protože valcove se zobrazí varování v ověřovatele - není nutné jej určit v HTML 5.

Proto jsem se rozhodl udělat formy v čistém formitu, to bylo dnes dnes a lekci.

Formulář HTML MARKUP nyní má následující kód:

Nic zvláštního, tak, abych mluvil standardem s rozložením bootstrapu 4. Budu redo, s přihlédnutím k syntaxi a v jednom, zvyšujeme nadbytečné, ruszifikované, přidávat ochranu proti spamu:

[[! Formit? & háčky \u003d `spam, email` & emailtpl \u003d` e-mail-tpl` & emailto \u003d `[[[++ e-mailsender]]` & emailsubject \u003d `dopis z webu [[++ site_url]]` & validate \u003d `workemail: Prázdný, název: Vyžadováno, e-mail: E-mail: Povinné, Zpráva: Povinné: Striptags, telefon: Povinné` & SuccessMessage \u003d `

Děkuji, Vaše odvolání je odesláno.

`]] [[! + FI.SUCCessMessage: výchozí \u003d` ``]]
[[! + FI.Error.Name]]
[[! + Fi.rror.phone]]
[[! + FI.Error.Email]]
[[! + FI.Error.message]]

Analýza kódu, jdeme shora na dně:

& Háčky - zde jsou přidány různé háčky, včetně samočinných ins: v našem případě 2 standard: Span - jednoduchá ochrana proti spamu a e-mailu - povinné, pro odeslání údajů poštovní schránka. O zbytku háčků, říkám podrobně ve videu.

& EmailTpl - Chanc s designem dopisu, má následující kód:

Od koho: [[+ jméno]]

Telefon: [[+ telefon]]

E-mail: [[+ E-mail]]

Zpráva: [[+ zpráva]]

& Emailto - Adresa e-mailem kde jsou formuláře odeslány, v tento případ specifikovaný systémové nastavení (klíč) ++ EmailSerter

& EmailSubject - téma odeslaného dopisu

& Validate - Předepisujeme požadovaná pole pro vyplnění a častá pole pro ochranu proti spamu

& SuccessMessage - Zpráva po úspěšné zásilce

Nebudu rozebrat kódový kód, který má zájem sledovat video a číst dokumentaci: docs.modx.com/extras/revo/formit

Připojení souborů pro formulář

Aby bylo možné připojit a odesílat přílohy, je nutné se zaregistrovat ve značce formy

Enctype \u003d "MULTIPART / FORM-DATA"

a příslušně přidat pole pro připojení souboru

[[! + FI.Error.upload]]

Zpracování Chekboxerů a možnosti

Více formulářů na jedné stránce

Právě v hovoru každé formy, psát

& SubeVar \u003d `Jméno formuláře v angličtině`

každý formulář má své vlastní jméno.

Boj proti spamu

Jak se neotáčejí, ale určitě narazíte na spam - nejvíce efektivní metoda Chcete-li to bojovat - můžete také zkusit.

Dobrý den! Dnes vám představím vytvořit formulář zpětné vazby pro Revoluci Modx, jehož šéf, který bude neobvyklým omezením (jako Googlovsk qaptcha je příliš komplikovaný a těžkopádný). Dělat zpětná vazba Budeme používat doplněk Formit. Můžete ho nainstalovat, asi sami, dobře, pro ty, kteří nevědí, jak to udělat, stále jsem snížil lekci od začátku do konce. Začít!

Chybí mi všechny momenty související s instalací Modx revoluce, Nastavení systému, design webu a tak dále. Začněme s instalací balíčku formulářů.

1. Přejděte do systému - Správa balíčků

2. Klikněte na "Načíst doplňky"

3. Vyberte ze seznamu formulářů

Klikněte na tlačítko Stáhnout. Po načtení formuláře se zobrazí v stažených balíčcích, klepněte na tlačítko Instalovat. Instalovaný formulář!

4. Dále vytvořte nový Chank

Zavolejme to "Formulář" a vložte následující kód:

[[! QAtcha]] [[! Úspěšně odeslán "` a validate \u003d `contact_name: povinné, contact_phone_na_format: Požadováno" & CustomValidators \u003d `qaptcha.slider`]]

[[+ qaptcha.slider]]

Zde je výzva fragmentu fragmentu, tvaru a captcha, který budeme nutí pracovat v následujících položkách. Nezapomeňte v parametru emailto. Určete poštovní schránku, ke kterému bude dopis přijít a v redirectto.je třeba dát ID stránky "Dopis Úspěšně odesláno"

5. Vytvořte Chank Sentemailtpl

Bude mluvit, jaké informace posílat poštu a vložit kód tam:

Jméno: [[+ kontakt_name]]]
E-mail: [[+ kontakt_email]]
Telefon: [[+ kontakt_phone_na_format]]
Poznámka: [[+ kontakt_message]]

6. Vytvořte nový dokument s názvem "Dopis Úspěšně odeslaný"

V obsahu prostředku můžete vložit typ textu: Dostali jsme svůj dopis! Díky za výběr naší společnosti. Náš manažer v nejkratším možném čase vás bude kontaktovat v kontaktním telefonu, který jste opustili v aplikaci!

7. Teď se budeme zabývat kapacitou

Připojujeme stránku JQuery Bibilot:

8. Vytvořit katalogy aktiva / komponenty / qaptcha / a jádro / komponenty / qaptcha /

V katalogu aktiva / komponenty / qaptcha /dali jsme obrázek a jQuery složku s obsahem a v jádro / komponenty / qaptcha / -pHP složka s qaptcha.jquery Soubor

9. Vytvořit úryvek qaptcha

a umístěte tam následující kód:

regClientcss (MODX_SITE_URL. "Aktiva / komponenty / qaptcha / jquery / qaptcha.jquery.css"); $ Modx-\u003e RegClientscript (Modx_Site_Url. "Aktiva / komponenty / qaptcha / jquery / jquery-ui.js"); $ Modx-\u003e RegClientscript (modx_site_Url. "Aktiva / komponenty / Qaptha / jquery / jquery.ui.touch.js"); $ Modx-\u003e RegClientscript (modx_site_Url. "Aktiva / komponenty / qaptcha / jquery / qaptcha.jquery.js"); $ Modx-\u003e SetPlazoldor ("qaptcha.slider", "

"); $ paramqaptcha \u003d array (); $ modx-\u003e getservice (" lexikon "," modlexicon "); $ modx-\u003e lexicon-\u003e zatížení (" qaptcha: výchozí "); $ txtlock \u003d $ modx-\u003e lexicon ( "Přesunout nakladač doprava k odemknutí"); $ txununlock \u003d $ modx-\u003e Lexicon ("Můžete kliknout na tlačítko Odeslat"); pokud (! ; $ paramqaptcha \u003d "phpfile:" ". Modx_site_URL. "Core / Components / qaptcha / php / qaptcha.jquery.php" "; $ paramqaptcha \u003d" txtlock: "". $ Txtlock. "" "; $ Paramqaptcha \u003d" txtunlock: "". $ Txunlock. " "" $ paramqaptcha \u003d implode (",", $ paramqaptcha); $ modx-\u003e RegClienthtmlblock ("");

Všechny skripty a CSS soubor jsou okamžitě připojeny přes něj a přehrává přehrávače qaptcha.slider.

10. Dáme Chank, kde chceme vidět CAPTCH (a pozornost: kde je připojena knihovna JQuery, nebude fungovat bez knihovny) a radujte se :))

Veškerá úspěšná práce a dobrá víkendová nálada!

P.S. Mám skvělý nápad))) v "demo" jsem dal svou poštu a všechna dopisy, které pošlete zkontrolovat práci skriptu, přijde ke mně)) Jak díky čekám na anekdoty a vtipné malé příběhy od tebe))

Téměř všechna komerční místa mají stránku kontaktů, na kterých je kontaktní formulář umístěn prostřednictvím kterého mohou uživatelé napsat správce stránek. Dnes se podíváme na to, jak rychle vytváříte kontaktní formulář. Zavedeme formulář zpětné vazby pomocí balíčku Formit. V balíčku s balíčkem AjaxForm., Instalujte je, pokud nejsou nainstalovány.

Vytvoření formuláře zpětné vazby na modx REVO s povolením ke zpracování osobních údajů v souladu se zákonem č. 152-FZ "o osobních údajích" ze dne 27. července 2006.

První věc, kterou vytváříme Chank, ve které bude samotná forma uložena, nechat to být Chank "Kontact-Form" a dát do něj kód standardního formuláře, v podstatě dělám webové stránky pomocí bootstrapu, takže budu mít standard prázdný trochu převedený, jeho statický kód bude takto:

Uživatelská dohoda

Váš vzhled se liší, protože můj formulář je stylizován pod projektu, CSS styly nevidí význam.

Zde můžete vidět jiné formuláře. getBootStrap.com/css/c.cz/cs.

A teď budu kódovat kód do dynamického s přihlédnutím k syntaxi Formit. a AjaxForm., Dostanu následující.

[[+ fi.error.name]]
[[+ fi.error.Email]]]
[[+ fi.error.pfone]]]
[[+ fi.Error.message]]

Uvedením značky dávám svůj souhlas se zpracováním svých osobních údajů v souladu se zákonem č. 152-FZ "o osobních údajích" ze dne 27. července 2006 a přijmout podmínky uživatelské dohody

[[+ Fi.success: je \u003d `1`: pak \u003d`
[[+ fi.successMessage]]
`]] [[+ fi.Validation_error: je \u003d` 1`: pak \u003d `
[[+ Fi.validation_error_message]]
`]]

Nyní vytvoříme další Chank, který bude tvořit dopis, pojďme to nazvat formulářem TPL-Kontact s následujícím obsahem:

Jméno: [[+ jméno]]

E-mail: [[+ E-mail]]

Telefon: [[+ pfone]]

Zpráva: [[+ zpráva]]

No, to bylo uzavřeno na správném místě:

[[! AjaxForm? & Snippet \u003d `Formit` & Form \u003d` Kontact-Form` & Emailtpl \u003d `Tpl-kontact-Form` & Hooks \u003d` Spam, Email` & EmailSubject \u003d `Zpráva z webu [[++ site_url]]` a emailto \u003d ` [Chráněný emailem]`& Validate \u003d` Jméno: Požadováno, E-mail: Požadováno: Požadováno "a validationRormuRormudesage \u003d` Ve formuláři obsahuje chyby! `& SuccessMessage \u003d` Zpráva úspěšně odeslána! `]]

Nezapomeňte změnit hodnotu emailto. na poštu.

Dokumentace komponent:

  1. Formit.docs.modx.com/extras/revo/formit.
  2. AjaxForm.docs.modx.pro/components/ajaxForm.

To je v podstatě to!

Chcete-li vytvořit formulář na modx bez spamu, je nutné jej vytvořit s dalšími neviditelnými poli:

1. Stáhnout a nainstalovat komponenty AjaxForm a ForTit

2. Formulář se nazývá velmi jednoduchý, musíte zjistit

[[! AjaxForm? & Snippet \u003d `Formit` & Formulář \u003d` tpl.AJAXFORM..RU `& emailto \u003d` [Chráněný emailem]site` & validate \u003d `Jméno: Požadováno, E-mail: Vyžadováno, Zpráva: Požadováno, Požadováno, Pracovní e-mail: Blank` & validationArorMessage \u003d` Formulář obsahuje chyby! `& SuccessMessage \u003d` Díky za aplikaci! Budeme Vás kontaktovat v blízké budoucnosti. "& EmailTpl \u003d` mafterpl`]]

Nebo přes fenom shablanizer, stejně jako toto:

($ _modx-\u003e runsnippet ("! AJAXForm", ["Forpipet" \u003d\u003e "Formit", "Formulář" \u003d\u003e "TPL.AJAXFORM.EXAMLE", "Háky" \u003d\u003e "Email, Spam" "EmailFrom" \u003d\u003e " [Chráněný emailem]"," EmailSubject "\u003d\u003e" z webu DARUSE.RU "," Emailto "\u003d\u003e" [Chráněný emailem]"," Validate "\u003d\u003e" Jméno: Vyžadováno, E-mail: Vyžadováno, Zpráva: Požadováno, Požadovaný, pracovní email: prázdný "," ValidationerRmessage "\u003d\u003e" Ve formuláři obsahuje chyby! "," SuccessMessage "\u003d\u003e" Díky za aplikace! Budeme Vás kontaktovat v blízké budoucnosti. "," EmailTpl "\u003d\u003e" mailtpl ",]))

Popis parametrů:

  • Úryvek - úryvky pro zpracování AjaxForm, Set Formit - to prostě posílá písmena
  • formulář - Chanka Form Design, je ten, kdo je výchozí
  • háčky - háčky na ochranu proti spamu
  • emailFrom - adresa, ze kterého dopis přijde
  • emailto - adresa, kterou dopis přijde
  • validate - validace, zde také dvě neviditelná pole
  • validationArorMessAge - zpráva, která bude výstup, s úspěšným vstupem polí
  • successMessage - zpráva, která bude zobrazena při úspěšném odeslání dopisu
  • emailTpl - Chank, ve kterém je uložena šablona příchozího dopisu na poštu (čtení níže)

3. Poté jdeme na náš tvarový design, v tomto případě se jedná o TPL.AJAXFORM.Example a přidejte po značce formuláře následující dvě pole.

...

Formulář by nyní neměl být spam, kvůli dvěma nových polích.

4. Externí typ příchozího dopisu

Ve výchozím nastavení bude dopis do pošty bez formátování v ne příliš čitelném formátu. Proto se na příklad umístěme trochu náš dopis.

Šablona písmene je jednoduchý Chank, který specifikujeme v parametru emailtpl.Všechno je velmi jednoduché, budu psát příklad registrace. Pokud máte otázky, napište do komentářů.

mailtpl:

Online [[++ site_url]] zanechal aplikaci.

[[+ Jméno: nevolnost \u003d `

Jméno: [[+ jméno]]

`]] [[+ e-mail: nevolnost \u003d`

Mail: [[+ E-mail]]

`]] [[+ Zpráva: nevolnost \u003d`

Zpráva: [[+ zpráva]]

`]]

Kontaktujte ho v blízké budoucnosti.

Na tento dopis neodpovídejte, protože je automatický.

Přečtěte si o vytváření a ochranou proti spamu.