Modx inqilob shaklida fikr-mulohazalar. G'ayrioddiy captcha bilan Formit yordamida MODX Revo bo'yicha fikr-mulohaza shakli. Format ro'yxatidan tanlang
MODX qiziqarli xususiyatga ega - siz resursni tahrirlash shaklining ko'rinishini deyarli xohlaganingizcha o'zgartirishingiz mumkin. Bundan tashqari, siz turli xil foydalanuvchilar guruhlari va hatto turli manbalar uchun turli shakllarni yaratishingiz mumkin. Berilgan resurs uchun uning shabloniga, ota-onasiga yoki boshqa xususiyatlariga qarab turli shakl profillarini tanlashingiz mumkin.
Buning uchun esa bitta qator kod yozishimiz shart emas!
Keling, masalan, shakllar bilan nima qilish mumkinligini ko'rib chiqaylik:
Birinchidan, biz yuqori menyuning qo'shimcha elementlarini bitta umumiy elementga olib tashlaymiz - "Tuzuvchi". Buni amalga oshirish uchun "Tizim" -> "Amallar" bo'limiga o'ting, ildizda yangi menyu elementini yarating va barcha keraksiz narsalarni u erga torting:
Keyin, "Xavfsizlik" -> "Shakl sozlamalari" bo'limiga o'ting va yangi profil yarating, masalan, "Kontent menejeri". Keyin biz ustiga o'ng tugmasini bosing va "Tahrirlash" ni tanlaymiz, "Foydalanuvchi guruhlari" yorlig'iga o'tamiz va yangi qoidalar qo'llaniladigan guruhni qo'shamiz.
Keyinchalik, biz yangi qoidalar to'plamini yaratamiz. Ularning ikkita turi mavjud - biri resurs yaratish shakli uchun, ikkinchisi - uni tahrirlash shakli uchun (mos ravishda yaratish va yangilash). Ushbu qoidalarning bir nechtasi bo'lishi mumkin - har bir resurs uchun kamida bitta qoida.
Qoida yaratilgandan so'ng siz sozlamalar sahifasini ko'rasiz - uchta yorliq mavjud: Qoidalar to'plami haqida ma'lumot, Hududlar, Qo'shimcha maydonlar.
Birinchi yorliqda standart manba maydonlari ro'yxati keltirilgan. Ular o'chirilishi yoki nomini o'zgartirishi mumkin. Hududlar resurs uchun yorliqlardir. Siz yangi hudud yaratishingiz va u erda ba'zi televizor parametrlarini qo'yishingiz mumkin, keyin resurs ularni "Qo'shimcha maydonlar" yorlig'ida emas, balki siz belgilagan yangi kirishda bo'ladi. Bu erda siz standart yorliqlarni ham o'chirib qo'yishingiz mumkin, masalan, "Resurs guruhlari".
Uchinchi yorliqda siz ma'lum bir televizor parametrining joylashishini ko'rsatasiz.
Men standart hududlarda kichik cheat varaq qildim:
Shunday qilib, birinchisidan tashqari, foydalanuvchi uchun barcha yorliqlarni darhol olib tashlaymiz. Hududlardan belgini olib tashlang: modx-sahifa sozlamalari, modx-panel-resurs-tv, modx-resursga kirish ruxsatlari. Bundan tashqari - standart maydonlardan biz faqat sahifa sarlavhasi va taxallusni qoldiramiz. Qolganlaridan tasdiqlash qutilarini olib tashlang. Sahifa sarlavhasi maydoni uchun yangi nomni belgilang: "Yangiliklar sarlavhasi" va taxallus: "Sahifa manzili".
Shundan so'ng, "Qo'shimcha maydonlar" yorlig'iga o'ting va televizor parametrlari shaklning u yoki bu qismida bo'lishi kerakligini ko'rsating (cheat varaqiga muvofiq).
Ushbu qoida qaysi manbalar uchun qo'llanilishini ko'rsatish uchun qoladi - "Shablon" bandida qoidani qo'llash uchun shablonlarni ko'rsating. Agar qoida barcha shablonlarga tegishli bo'lsa, unda hech narsa belgilamang. Va yana ikkita element mavjud: "Chekuvchi maydon" va "Chekuvchi qiymat". Bu yerda boshqa maydonlarni kiritishingiz mumkin.
Keling, ushbu qoida "Yangiliklar" da joylashgan resurslarga tegishli ekanligini ko'rsatamiz - "Cheklash maydoni" bandida biz yozamiz ota-ona, va "Yangiliklar" resursining "Cheklangan qiymat" identifikatorida, masalan, 22 .
AjaxForm va FormIt komponentlaridan foydalangan holda CMF MODX Revolution-da fikr-mulohaza shaklini yaratishni ko'rib chiqamiz.
FormIt va AjaxForm komponentlarining maqsadi
FormIt - bu server tomonida shakllarni qayta ishlash uchun mo'ljallangan MODX Revolution komponenti (parchalari). U keyingi harakatlardan oldin shakl maydonlarini (tasdiqlash) tekshirishi, saytni spam olishdan himoya qilishi, shakl ma'lumotlarini pochtaga yuborishi, to'ldirilgan shakllarning nusxalarini saqlashi, boshqa sahifaga yo'naltirishi (masalan, shaklni elektron pochtaga muvaffaqiyatli topshirgandan so'ng), bajarishi mumkin. avtomatik javob beruvchi funksiyasi va boshqalar.
Ammo FormIt bilan AJAX orqali ishlash uchun siz qo'shimcha AjaxForm komponentidan foydalanishingiz kerak.
Fikr-mulohaza shakli qanday ishlaydi
MODX Revolution-da fikr-mulohazalar shaklini ishlab chiqishga o'tishdan oldin, keling, uning ishining asosiy algoritmini ko'rib chiqaylik.
Shakl bilan sahifani ochgandan so'ng (u serverda sahifani yaratishda AjaxForm snippet qo'ng'irog'ining &form parametrida ko'rsatilgan bo'lakdan olinadi), foydalanuvchi uni to'ldirishga kirishadi. To'ldirishni tugatgandan so'ng, foydalanuvchi "Yuborish" tugmasini bosadi va AjaxForm komponenti (JavaScript kodi) uni AJAX orqali serverga yuboradi. Serverda ushbu komponent FormIt snippetini ishga tushiradi va unga forma ma'lumotlarini uzatadi. Ushbu ma'lumotlarni qayta ishlagandan so'ng, FormIt parchasi javob hosil qiladi, u AjaxForm komponenti orqali mijozga uzatiladi va sahifada foydalanuvchiga ko'rsatiladi. Javob ijobiy bo'lishi mumkin (bu shakl tasdiqlanganligini va, masalan, ma'lumotlar pochtaga muvaffaqiyatli yuborilganligini anglatadi) yoki salbiy (masalan, foydalanuvchi shaklni to'ldirishda ba'zi xatolarga yo'l qo'ygan).
Fikr-mulohaza shaklini yarating
MODX Revolution-da fikr-mulohaza shaklini yaratish uchun siz quyidagi asosiy bosqichlarni bajarishingiz kerak:
Keling, 2 va 4-bosqichlarni batafsil ko'rib chiqaylik.
Bo'lakda HTML formasini yaratish
HTML fikr-mulohaza shaklini yaratish tpl.AjaxForm.example shablonini nusxalash orqali amalga oshirilishi mumkin. Misol uchun, ko'chirilgan bo'lakka nom beraylik tpl.AjaxForm . Ushbu bo'lak allaqachon 3 ta maydondan iborat tayyor HTML formasini o'z ichiga oladi: Ism, E-mail va Xabar. Shakl bilan bajarilishi kerak bo'lgan asosiy harakatlar, asosan, yangi toifalarni qo'shish yoki mavjudlarini o'chirishga to'g'ri keladi. Kategoriya bir-biriga bog'liq elementlar guruhidir: yorliq (yorliq), shakl elementi (kirish , tanlash , matn maydoni) va span elementi (tasdiqlash xatosini ko'rsatish uchun ishlatiladi).
Diqqatga sazovor joylar:
- Yorliq matni (yorliq elementining). Odatda lug'atdan olinadi (ko'p tilli saytlar uchun) yoki to'g'ridan-to'g'ri matn bilan ko'rsatiladi.
- Span elementi error_name qiymatiga ega sinf atributiga ega bo'lishi kerak, unda nom iborasi o'ziga ergashadigan shakl elementining nom atributi qiymatiga o'zgartirilishi kerak.
Diqqat: shakl elementi qiymat atributining qiymati sifatida [[+fi.name]] toʻldirgichdan va span elementi mazmuni sifatida [[+fi.error.name]] toʻldirgichdan foydalanish faqat klassik FormIt ishi uchun tegishli, ya'ni AJAXsiz. Ular foydalanuvchi tomonidan kiritilgan qiymatlarni saqlash va tekshirish xatolarini ko'rsatish uchun shaklni qayta yuborilganda to'ldirish uchun ishlatiladi.
Masalan, HTML formasiga telefon raqamini kiritish maydonini qo'shamiz:
Natijada, bu bo'lak quyidagi HTML kodini o'z ichiga oladi:
AjaxForm snippet chaqiruvini o'z ichiga olgan kod yaratish
Biz resursdan foydalanadigan shablonni ochamiz va bularning barchasini bajaradigan kodni kiritamiz.
[[!AjaxForm? &form=`tpl.AjaxForm` &snippet=`FormIt` &hooks=`FormItSaveForm,email` &emailSubject=`Test xabari` &emailTo=` [elektron pochta himoyalangan]`&emailFrom=` [elektron pochta himoyalangan]` &emailTpl=`tpl.email` &validate=`name:minLength=^2^,email:email:required,message:minLength=^10^` &validationErrorMessage=`Shaklda xatolar bor!` &successMessage=`Xabar muvaffaqiyatli yuborildi` ] ]
Keling, asosiy parametrlarni tahlil qilaylik:
- &form - shaklni o'z ichiga olgan bo'lak uchun javobgar (tpl.AjaxForm).
- &snippet - shaklga ishlov beruvchi parcha (FormIt).
- & ilgaklar – forma muvaffaqiyatli tasdiqlangandan so‘ng FormIt parchasi bajaradigan ilgaklar (1 - FormItSaveForm , 2 - elektron pochta). Kancalar - bu shakl tasdiqlangandan keyin ishlaydigan skriptlar. Ular vergul bilan ajratiladi va ketma-ket bajariladi. Agar ulardan birida xatolik yuzaga kelsa, qolganlari boshlamaydi. Ushbu qo'llanmada biz 2 ta kancadan foydalanamiz. FormItSaveForm ilgagi shaklni ma'lumotlar bazasida saqlash uchun mo'ljallangan. Elektron pochta kancasi shakl ma'lumotlarini elektron pochtaga yuborish uchun mo'ljallangan.
- &emailSubject , &emailTo , &emailFrom , &emailTpl qiymatlari elektron pochta ilgagi tomonidan ishlatiladigan parametrlardir. Ular elektron pochta mavzusini (&emailSubject), jo'natish manzilini (&emailTo), sarlavhadan (&emailFrom), elektron pochta shablonini (&emailTpl) ko'rsatish uchun mo'ljallangan.
- &validate - bu shakl tasdiqlangan qiymatga asoslangan parametr. Parametr qiymati vergul bilan ajratilgan elementlar ro'yxatidir. Har bir element ikki nuqta bilan ajratilgan shakl elementi nomidan (tekshiriladi) va qoidadan (unga qo'yiladigan talablardan) iborat. Masalan, name:minLength=^2^ validator nom maydonida kamida 2 ta belgi borligini tekshiradi. Elektron pochta: elektron pochta: talab qilingan tekshiruvchi pochta maydonida elektron pochta manzili mavjudligini tekshiradi. Validatorlarni yaratishning asosiy qoidalarini "FormIt Validators" sahifasida topish mumkin.
- &validationErrorMessage - Agar formada xatolar bo'lsa, ko'rsatiladigan xabarni o'z ichiga oladi.
- &successMessage - xabar muvaffaqiyatli yuborilganligini foydalanuvchi ko'radigan xabar.
Faqat elektron pochta shablonini o'z ichiga olgan tpl.email qismini yaratish uchun qoladi.
Xabar
Kimdan: [[+name]]
E-mail: [[+email]]
Telefon: [[+telefon]]
Xabar: [[+message]]
MODX - Chunk tpl.emailDiqqat: To'ldirgichlar forma maydoni qiymatlarini ko'rsatish uchun ishlatiladi.
Fikr-mulohaza shaklini namoyish qilish
Quyidagi rasmlardan foydalangan holda sahifadagi fikr-mulohaza shakli bilan ishlashda asosiy fikrlarni ko'rsatamiz.
MODX - tasdiqlanmagan aloqa shakli
Bizda faqat bitta sahifa qoldi, uni hali qayta tiklamadik. Bu sahifa Kontaktlar. Bu erda, aloqa ma'lumotlariga qo'shimcha ravishda, bizda fikr-mulohaza shakli bo'ladi. MODx-da bunday shaklni yaratish uchun maxsus snippet mavjud - eForm . Keling, avvalo, fikr-mulohaza shakli odatda nimalardan iborat bo'lishi mumkinligini ko'rib chiqaylik.
1. Birinchidan, bu kirish maydonlari bilan shaklning o'zi nomi, Pochta manzili, Xabar mavzulari va o'zi Xabarlar. Spamdan himoya qilish uchun siz captcha qo'shishingiz kerak - yaratilgan rasmdan kodni kiritish shakli. Shuningdek, kiritilgan ma'lumotlarni tekshirishni yoqish kerak.
2. Xabar yuborilganligi haqida tashrif buyuruvchiga xabar berish.
3. Pochtaga keladigan yuborilgan xabarning shakli.
Fikr-mulohaza shakli shabloniga ega bo'lak yarating
Fikr-mulohaza shakli uchun shablonga ega bo'lak yaratishdan oldin, shablonimizda ushbu shaklni tavsiflovchi kodni ko'rib chiqamiz. Faylni Notepad++ da oching contact.html C:/xampp/htdocs/site/www/assets/templates/templatemo_250_chess/ papkasida joylashgan. Bu chiziqlar bo'ladi 135 yoqilgan 159 inklyuziv. Ko'rib turganingizdek, bu konteyner id = "contact_form", unda bizning formamiz mavjud. Ushbu kodga asoslanib, yangi bo'lak yarating forma-tpl va bizga kerak bo'lgan joy egalarini qo'shing:
qayta aloqa
[+validationmessage+]
Bilan sendEmailTpl bo'lagini yarating.Unda qanday ma'lumotlarni pochtaga jo'natish va u erga kodni qo'yish kerakligi tasvirlangan:
Kimdan:
Telefon:
Xabar:
Bu yerda:
- Yuboruvchining ismi
- jo'natuvchining telefon raqami
- jo'natuvchining elektron pochtasi
- saytdagi jo'natuvchi tomonidan yozilgan xabar
D Keyinchalik, muvaffaqiyatli yuborish haqidagi xabar va foydalanuvchi fikr-mulohaza shakli orqali xabar yuborgani uchun rahmat bo'lgan sahifa yarataylik.
Masalan:
Email yuborganingiz uchun tashakkur!
Sizning elektron pochtangiz muvaffaqiyatli yuborildi.
Mutaxassisimiz sizga imkon qadar tezroq javob beradi.
H va biz ushbu sahifa uchun identifikatori bo'yicha qayta yo'naltirishni o'rnatamiz.
Yo'q&redirectTo=`178` parametrining qiymatini FormIt snippeti chaqiriladigan joyda oʻzgartirishni unutmang (boʻlak kodida).
javob bering
ollserg 17.04.2015 - 11:07 da javob berdi
USHBU MULOQADA FORMASI KODI ISHLAMAYISHI MUMKIN!
Bu moslashuv emas! Siz barcha funksiyalarni olib tashladingiz! Maqolani diqqat bilan o'qing va tushunasiz.
Bu erda men hamma narsani batafsil bo'yab qo'ydim, lekin agar u hali ham ishlamasa, ushbu saytdagi "buyurtma" shakli orqali murojaat qilishingiz mumkin.
javob bering
Denis dushanba kuni javob berdi, 20/04/2015 - 17:56
QALQIQCHI OYNALARNI FORMITLASH
Rahmat! tushundim!
“Yuborish” tugmasini bosganingizda, shoshilinch yuborish haqidagi xabar yangi sahifada emas, balki qalqib chiquvchi oynada paydo boʻlishi uchun uni qanday qilish boʻyicha oʻquv qoʻllanmangiz bormi?
javob bering
ollserg javob berdi, payshanba, 23/04/2015 - 14:56
MODAL OYNA
Saytingizda qalqib chiquvchi oyna sifatida foydalaning. Amalga oshirish usullari ko'p, bitta misol:
1-oynani oching
Bu yerda istalgan matn, rasm yoki videoni joylashtirishingiz mumkin!
Xo'sh, bu kod uchun CSS.
javob bering
Aleksey javob berdi Yakshanba, 31/05/2015 - 16:09
MODAL OYNA
html shablonida ro'yxatdan o'tish kerak, lekin #win1 qiymati unga noma'lummi? Uni biror joyga joylashtirish kerakmi?
Rahmat.
javob bering
Aleksey javob berdi Yakshanba, 31/05/2015 - 16:17
MODAL OYNA
Iltimos, aniqlik kiriting, #win1 parametri html shablonidagi havola aynan nimani chaqirish kerakligini tushunishi uchun forma boʻlagida qayerga oʻrnatilishi kerak? Ehtimol, men biror narsani noto'g'ri tushungandirman, lekin chiziq
html shablonida ro'yxatdan o'tish kerak, lekin win1 qiymati unga noma'lummi? Uni biror joyga joylashtirish kerakmi?
Modx bilan atigi 3 kundan beri tanishman, iltimos, yuqoridagi hamma narsa kabi, oddiy tarzda tushuntiring.
Rahmat.
javob bering
ollserg javob berdi, dushanba, 01/06/2015 - 12:28
MODAL OYNANING HTML KODI
Salom mehmon!
javob bering
Aleks 07.07.2015 - 10:18 da seshanba kuni javob berdi
XAT YO'Q
Sizniki ishladi, xat keldi.
Maydonlarni o'zimga kerak bo'lganiga almashtirdim va afsuski, xat kelmay qoldi.
bu erda kod
javob bering
ollserg javob berdi Chorshanba, 08.07.2015 - 13:09
IN!FORMIT? MATN VA E-Pochtani tavsiflang
In!FormIt? tavsifi kerak - &validate=`email:email:required,matn:required:stripTags`
javob bering
Viktor javob berdi Dushanba, 10/19/2015 - 14:03
MAVZU FORMIT ALOQA FORMASIDA
Xayrli kun.
Men "&emailSubject=`Https://website/ saytidan elektron pochta" dan foydalanaman - xat yuborilmaydi, shakl maydondagi xatolik holatiga qaytadi.
.
Kirillcha kodlashni tushunmasligi aniq, ammo qayerga qarash kerak?
Iltimos, nima bo'lishi mumkinligini ayting. sabab.
Rahmat.
javob bering
ollserg javob berdi, seshanba, 20/10/2015 - 22:47
APACHE VA PHP VERSYALARI
Sizning holatingizda e'tibor berishingiz kerak bo'lgan birinchi narsa bu sizning serveringizdagi Apache va PHP versiyalari.
javob bering
AlexP javob berdi, payshanba, 29/10/2015 - 14:15
PLACEHOLDER
To'ldiruvchi kesilgan..
Men imput va stil CSS ichida "Sizning ismingiz" ni yaratmoqchi edim, lekin negadir kod value="" placeholder="(!LANG:Sening ismingizdan keyin kesilgan)" - обрезается!}
rahmat
javob bering
ollserg javob berdi, payshanba, 29/10/2015 - 20:01
BARCHA CSS NI QILIB TEKSHIRILISh KERAK
"To'ldiruvchi" ni kesish aniq tartib tufayli sodir bo'ladi
javob bering
Roman 27/11/2015 - 13:43 da javob berdi
FORMIT VA MASALALAR
Fornit yoki uning hujjatlarida katta kamchilik bor. Bu yerda menda chiroyli fikr-mulohaza oynasi bor, lekin u alohida hujjatda yaratilmagan, lekin jQuery yordamida ochiladi! Shunday qilib, Formit u bilan ishlamaydi .. Va uni qanday sozlashni tushunmayapman! Ehtimol, siz shunga o'xshash narsaga duch kelgansiz.
javob bering
ollserg javob berdi, seshanba, 12/01/2015 - 23:23
QALQIB QALQIB MUKARIZA UCHUN AJAXFORM FOYDALANISH
FormIt qutidan ajaxni qanday yaratishni bilmaydi ... Unga, ya'ni. FormIt qo'shimcha sifatida yozilishi kerak... yoki AjaxForm dan foydalaning, bu qalqib chiquvchi fikr-mulohaza uchun eng yaxshi yechim bo'ladi.
javob bering
andreev888 javob berdi: Shanba, 12.05.2015 - 22:26
TINCHLIKMI
Odamlar, ayting-chi, ko'rsatma men ko'rganlarim orasida eng qulayi ko'rinadi, men hamma narsani ko'rsatmalarga muvofiq qildim, lekin men saytda formani umuman ko'rmayapman ... na ilgak, na vergul. .. Bu shunchaki ko'rsatilmaydi ... Qayerga qarash kerak?
javob bering
ollserg javob berdi Yakshanba, 12.06.2015 - 23:37
MODX REVOLUTION - KESHNI TOZLASH
Va agar Menyuda - Sayt va saytni yangilash (Sayt keshini tozalash) Bu aqlga kelgan birinchi narsa. Xo'sh, hammasi oddiy, postni bir yoki ikki marta qayta o'qing va muvaffaqiyatga erishasiz !!!
javob bering
Yovuzlik 18.12.2015 - 07:00 da javob berdi
G'azab
Siz zadolbali bir xil maqolalarni ko'chirasiz! O'zingizning biror narsangizni o'ylab toping yoki hech bo'lmaganda maqoladagi kodni o'zgartiring!
javob bering
ollserg javob berdi 18.12.2015 - 14:28, juma
O'QITUVCHILAR USHBU FORMA KODINI O'ZGARTIRISHGA HARAKAT QILGAN
Ularda ushbu kodning ishlamasligi bilan bog'liq savollar bor edi.
Yuqoridagi izohlarda o'qishingiz mumkin.
Yana bir savol shundaki, ko'pchilik (aniq statistik ma'lumotlar yo'q) ushbu maqolaning kodini hatto diqqat bilan o'qimasdan ham o'z veb-saytlariga nusxa ko'chirish va joylashtirishdir. Men o'z saytimdagi fikr-mulohaza shakli kodini ataylab ko'chirib oldim va maqolada kodning o'zimnikiga o'zgartirilishi kerak bo'lgan joylarini ko'rsatdim. Koddagi manzilni tuzatmagunimcha, pochtamga saytlardan qancha xat tushdi?! Yuzlab emas, o'nlab odamlar bor edi.
javob bering
svbel Payshanba kuni javob berdi, 02/06/2016 - 10:11
XAT YUBORISHDA XATO
"Xat jo'natishga urinishda xatolik yuz berdi. Pochta funksiyasini ishga tushirib bo'lmadi." xabarining ma'nosi nima?
javob bering
ollserg javob berdi, payshanba, 02/06/2016 - 10:54
POCHTA FUNKSIYASINI BOSHLASH MUMKIN.
Ko'p sabablar bo'lishi mumkin. Jurnallarga qarang, FormIt va pochtada ko'rsatilgan pochta domeni mavjud va normal ishlaydimi?
Xosting provayderingizning yordamiga savol bering. Umuman olganda, sizning savolingizga aniq javob yo'q.
javob bering
Denis javob berdi chorshanba, 15/06/2016 - 15:53
POCHTA XATLARNI QABUL QILMANG
Hayrli kun! Men sizning tavsifingizga ko'ra shakl yaratdim, hamma narsa ishlaydi, u rahmat sahifasiga o'tadi, lekin pochtaga hech narsa kelmaydi
Veb-sayt joylashtirilgan. Nazariy jihatdan, hamma narsa normalar kodeksida
Ayting-chi, muammo nimada? Rahmat!
javob bering
ollserg 17.06.2016 - 12:17 da javob berdi
MODX ALOQA BOR FORMASI 100% TO'G'RI. Ko'rsatmalarga rioya qiling.
Maqolani diqqat bilan o'qing. Bo'lakka e'tibor bering