Modx atsiliepimų formos forma. Atsiliepimo forma apie MODX Revo naudojant Formit su neįprasta captcha

MODX turi įdomi galimybė- galite pakeisti išteklių redagavimo formos išvaizdą beveik taip, kaip norite. Be to, galite sukurti skirtingas formas skirtingoms vartotojų grupėms ir net skirtingiems ištekliams. Tam tikram ištekliui galite pasirinkti skirtingus formos profilius, atsižvelgdami į jo šabloną, pirminę ar kitas ypatybes.

Ir tam mums nereikia rašyti nė vienos kodo eilutės!

Pažiūrėkime, ką, pavyzdžiui, galite padaryti su formomis:

Pirma, pašalinkime nereikalingus elementus iš viršutinio meniu į vieną bendrą elementą - "Kūrėjas". Norėdami tai padaryti, eikite į skyrių „Sistema“ -> „Veiksmai“, sukurkite naują meniu elementą šaknyje ir vilkite visus nereikalingus elementus:

Tada eikite į skyrių „Sauga“ -> „Formos nustatymai“ ir sukurkite naują profilį, pavyzdžiui, „Turinio tvarkyklė“. Tada spustelėkite jį dešiniuoju pelės mygtuku spustelėkite pele ir pasirinkite „Redaguoti“, eikite į skirtuką „Vartotojų grupės“ ir pridėkite grupę, kuriai bus taikomos naujos taisyklės.

Tada sukuriame naują taisyklių rinkinį. Jų yra dviejų tipų – vienas skirtas ištekliaus kūrimo formai, antrasis – jo redagavimo formai (atitinkamai kurti ir atnaujinti). Šių taisyklių gali būti kelios – bent viena taisyklė kiekvienam ištekliui.

Sukūrę taisyklę, pamatysite nustatymų puslapį – yra trys skirtukai: Taisyklių rinkinio informacija, Regionai, Papildomi laukai.

Pirmame skirtuke pateikiami standartinių išteklių laukai. Jie gali būti išjungti arba pervardyti. Regionai yra išteklių skirtukai. Galite sukurti naują regioną ir įdėti kai kuriuos televizoriaus parametrus, tada ištekliai juos turės ne skirtuke „Papildomi laukai“, o naujame skirtuke, kurį nurodote. Čia galite išjungti standartinius skirtukus, pavyzdžiui, „Išteklių grupės“.

Trečiame skirtuke nurodote konkretaus televizoriaus parametro vietą.

Sudariau nedidelį cheat sheet standartiniuose regionuose:



Taigi, iš karto pašalinkime visus vartotojo skirtukus, išskyrus pirmąjį. Panaikinkite regionų žymėjimą: modx-page-settings, modx-panel-resource-tv, modx-resource-access-permissions. Toliau iš standartinių laukų paliksime tik puslapio pavadinimą ir slapyvardį. Mes pašaliname žymimuosius laukelius iš likusių. Nurodykite naują puslapio pavadinimo lauko pavadinimą: „Naujienų pavadinimas“ ir slapyvardį: „Puslapio adresas“.

Po to eikite į skirtuką „Papildomi laukai“ ir nurodykite, kad televizoriaus parametrai turi būti vienoje ar kitoje formos srityje (pagal kodų lapą).

Belieka tik nurodyti, kuriems ištekliams taikoma ši taisyklė – skiltyje „Šablonas“ nurodome, kokiems ištekliams su kokiais šablonais turėtų būti taikoma taisyklė. Jei taisyklė skirta visiems šablonams, tada nieko nenurodome. Ir dar du elementai: „Ribojamasis laukas“ ir „Ribojanti vertė“. Čia galite nurodyti kitus laukus.

Atkreipkime dėmesį, kad ši taisyklė taikoma ištekliams, esantiems „Naujienose“ - laukelyje „Apribojimas“ rašome tėvas, o lauke „Ribinė vertė“ – šaltinio „Naujienos“ ID, pavyzdžiui, 22 .

Liko tik vienas puslapis, kurio dar neperdarėme. Tai yra puslapis Kontaktai. Čia mes turime be Kontaktinė informacija forma atsiras Atsiliepimas. MODx yra specialus fragmentas tokiai formai sukurti - eForm. Pirmiausia pažiūrėkime, ką gali sudaryti atsiliepimų forma.

1. Visų pirma, tai pati forma su įvesties laukais vardas, pašto adresas, Pranešimų temos ir pats Žinutės. Norėdami apsisaugoti nuo šiukšlių, turėtumėte pridėti captcha - kodo įvedimo formą iš sugeneruoto vaizdo. Taip pat būtina įgalinti įvestos informacijos teisingumo patikrinimą.

2. Lankytojo informavimas apie žinutės išsiuntimą.

3. Išsiųstos žinutės forma, kuri bus išsiųsta el.

Sukurkite dalį naudodami atsiliepimo formos šabloną

Prieš kurdami gabalą su grįžtamojo ryšio formos šablonu, išstudijuokime kodą, apibūdinantį šią formą mūsų šablone. Atidarykite failą „Notepad++“. contact.html kuris yra aplanke C:/xampp/htdocs/site/www/assets/templates/templatemo_250_chess/. Tai bus eilutės su 135 Autorius 159 imtinai. Kaip matote, tai konteineris su id="contact_form", kur yra mūsų forma. Remdamiesi šiuo kodu, sukuriame naują dalį forma-tpl ir pridėkite mums reikalingus vietos žymeklius:

Atsiliepimas


[+patvirtinimo pranešimas+]







Įveskite šį kodą:





Kur [+patvirtinimo pranešimas+]- atsako už klaidų pranešimų rodymą pateikiant formą.
action="[~[*id*]~]- nurodo, kad formos tvarkytojas bus puslapis, kuriame iškviečiamas fragmentas. Vietoj [~[*id*]~] MODx pakeis dabartinio dokumento URL.
nurodo formos ID, kurį nurodysime iškviesdami fragmentą.
etiketės prieigos raktas- nustato prieigą prie formos elementų naudojant sparčiuosius klavišus.
eform="Email:email:1"- aprašo pašto adreso įvedimo laukelį, nurodo įvedamų duomenų tipą ir daro šį lauką privalomą. Paprastai šio parametro užpildymo šablonas yra toks: eform="[lauko aprašymas]:[įvesties duomenų tipas]:[ar laukas reikalingas]:[įvesties klaidos pranešimas]:[įvesties patvirtinimo taisyklė]" . Tačiau mums reikia tik trijų vertybių. Panašiai kaip ir šis parametras, užpildomas eform="Name::1".
[+verimageurl+] yra atsakingas už captcha rodymą.

Sukurkite gabalą, pranešantį lankytojui, kad pranešimas išsiųstas

Sukurti gabalą ačiū-tpl

Dėkojame, kad naudojote atsiliepimų formą mūsų svetainėje.

Jūsų žinutė bus peržiūrėta kaip įmanoma greičiau, o jei reikės atsakyti, jį tikrai gausite.


Išsiųsta informacija:



  • Tavo vardas:[+autorius+]

  • Tavo elektroninis paštas:[+el. paštas+]

  • Pranešimo tekstas:[+tekstas+]

Sukurkite dalį naudodami išsiųsto pranešimo formą

Sukurti gabalą report-tpl ir į jo turinį įdėkite šį kodą:

Šį pranešimą pateikė lankytojas, vardu [+autorius+], naudodamas atsiliepimų formą.






Vardas:[+autorius+]
El. paštas::[+el. paštas+]
Pranešimas:[+tekstas+]

Šiame gabale, kaip ir ankstesniame, visa vartotojo įvesta informacija perduodama naudojant formos [+autorius+] vietos žymeklius. Tokiu atveju kiekvienos rezervuotos vietos pavadinimas sutampa su atitinkamo lauko atributo „name“ reikšme atsiliepimo formos gabale (vardas = "author", name = "el. paštas" name = "tekstas").

Sukurkite dalį su skambučiu į atsiliepimų formą

Sukurkite dalį su pavadinimu forma ir įdėkite ten struktūrą:

[!eForm? &formid=`Siųsti` &tpl=`form-tpl` &to=` [apsaugotas el. paštas],[apsaugotas el. paštas],[apsaugotas el. paštas]` &mailselector=`otdel` &report=`report-tpl` &thankyou=`thank-tpl` &vericode=`1` &subject=`Pranešimas iš mano svetainės`!]

Kur &formid=`Siųsti`- formos identifikatorius, kurį nurodėme form-tpl gabale
&tpl=`form-tpl`- atsiliepimų formos šablonas
&to=` [apsaugotas el. paštas],[apsaugotas el. paštas],[apsaugotas el. paštas]` - El. pašto adresas informacijai siųsti
&mailselector=`otdel`- nustato formos lauką, kuris bus naudojamas pasirenkant vieną adresą iš adresų sąrašo, parametre atskirtų kableliu (,) . Mūsų atveju tai yra išskleidžiamasis sąrašas

Dėl to šioje dalyje bus šis HTML kodas:

Generuojamas kodas su AjaxForm fragmento iškvietimu

Atidarome šabloną, kuris naudos išteklius ir įvedame kodą, kuris visa tai įgyvendins.

[[!AjaxForm? &form=`tpl.AjaxForm` &snippet=`FormIt` &hooks=`FormItSaveForm,email` &emailSubject=`Bandomasis pranešimas` &emailTo=` [apsaugotas el. paštas]` &emailFrom=` [apsaugotas el. paštas]` &emailTpl=`tpl.email` &validate=`name:minLength=^2^,email:email:required,message:minLength=^10^` &validationErrorMessage=`Formoje yra klaidų!` &successMessage=`Pranešimas sėkmingai išsiųstas` ] ]

Pažvelkime į pagrindinius parametrus:

  • &form – atsakinga už gabalą, kuriame yra forma (tpl.AjaxForm).
  • &fragmentas – formą apdorojantis fragmentas (FormIt).
  • &hooks – kabliukai, kuriuos FormIt fragmentas vykdys sėkmingai patvirtinus formą (1 – FormItSaveForm , 2 – el. paštas). Kabliukai yra scenarijai, kurie paleidžiami po to, kai forma buvo patvirtinta. Jie nurodomi atskirti kableliais ir vykdomi nuosekliai vienas po kito. Jei viename iš jų įvyksta klaida, kiti nepasileidžia. Šioje pamokoje naudosime 2 kabliukus. FormItSaveForm kabliukas skirtas išsaugoti formą duomenų bazėje. El. pašto kabliukas skirtas formos duomenims siųsti el. paštu.
  • &emailSubject , &emailTo , &emailFrom , &emailTpl – parametrai, kurių reikšmes naudoja el. pašto kabliukas. Jie skirti nurodyti laiško temą (&emailSubject), siuntimo adresą (&emailTo), antraštę From (&emailFrom) ir laiško šabloną (&emailTpl).
  • &validate – parametras, kurio reikšme patvirtinama forma. Parametro reikšmė yra elementų, atskirtų kableliais, sąrašas. Kiekvienas elementas susideda iš formos elemento pavadinimo (kuris turi būti patikrintas) ir taisyklės (jo reikalavimai), atskirtas dvitaškiu. Pavyzdžiui, pavadinimas:minLength=^2^ tikrinimo priemonė patikrina, ar pavadinimo lauke yra bent 2 simboliai. El. pašto adresas: el. paštas: reikalingas tikrintuvas patikrina, ar pašto lauke yra el. pašto adresas. Pagrindines tikrintojų kūrimo taisykles rasite „FormIt Validators“ puslapyje.
  • &validationErrorMessage – yra pranešimas, kuris bus rodomas, jei formoje yra klaidų.
  • &sėkmingas pranešimas – pranešimas, kurį vartotojas matys, ar pranešimas sėkmingai išsiųstas.

Belieka sukurti tpl.email gabalėlį, kuriame bus laiško šablonas.

Pranešimas

Nuo: [[+vardas]]

El. paštas: [[+el. paštas]]

Telefonas: [[+telefonas]]

Žinutė: [[+pranešimas]]

MODX – Chunk tpl.email

Dėmesio: Formos laukų reikšmėms rodyti naudojami vietos rezervavimo ženklai.

Parodymas, kaip veikia grįžtamojo ryšio forma

Mes parodysime pagrindinius dalykus dirbdami su atsiliepimų forma puslapyje naudodami šiuos vaizdus.


MODX – atsiliepimo forma nepatvirtinta



Dalintis