Bentuk feedback modx revo generator. Modx - Formulir Umpan Balik (Formit)

Di MODX ada peluang menarik - Anda dapat berubah penampilan Bentuk pengeditan sumber daya praktis yang Anda inginkan. Selain itu, Anda dapat membuat formulir yang berbeda untuk berbagai grup pengguna, dan bahkan untuk sumber daya yang berbeda. Anda dapat memilih profil formulir yang berbeda untuk dari sumber ini Tergantung pada template, induk atau properti lainnya.

Dan untuk ini kita tidak perlu menulis satu baris kode!

Mari kita lihat apa, misalnya, Anda dapat melakukannya dengan formulir:

Pertama, hapus item menu atas yang tidak perlu ke satu item umum - "Pengembang". Untuk melakukan ini, buka bagian "Sistem" -\u003e Bagian "Tindakan", buat item menu baru di root dan seret semua titik yang tidak perlu di sana:

Selanjutnya pergi ke bagian "Keamanan" -\u003e "Pengaturan Formulir" dan buat profil baru, misalnya, "Manajer Konten". Kemudian tekan dengan tombol kanan mouse dan pilih "Edit", buka tab "Grup Pengguna" dan tambahkan grup yang akan diterapkan aturan baru.

Selanjutnya, kami membuat set aturan baru. Dua jenis mereka adalah satu untuk bentuk penciptaan sumber daya, yang kedua - untuk mengedit dan memperbarui formulir (membuat dan memperbarui, masing-masing). Aturan-aturan ini mungkin agak - setidaknya dengan aturan untuk setiap sumber daya.

Setelah aturan dibuat, Anda akan melihat halaman pengaturan - ada tiga tab: informasi tentang seperangkat aturan, wilayah, bidang tambahan.

Tab pertama mencantumkan bidang sumber daya standar. Mereka dapat dimatikan atau diganti namanya. Daerah adalah tab di sumber daya. Anda dapat membuat wilayah baru dan memasukkan beberapa parameter TV ke sana, maka mereka akan memiliki sumber daya pada tab "bidang tambahan", dan pada kontribusi baru yang akan Anda tentukan. Di sini Anda dapat menonaktifkan tab standar, seperti "Grup sumber daya".

Pada tab ketiga, Anda menentukan lokasi parameter TV.

Saya membuat boks kecil di daerah standar:



Jadi, mari kita segera hapus semua tab untuk pengguna, kecuali dulu. Kami menghapus kutu dari daerah: Pengaturan MODX-Page, MODX-Panel-Sumberdaya-TV, Modx-Resource-Access-Izin. Selanjutnya - dari bidang standar hanya pagetitle dan alias akan pergi. Sisa kotak centang dibersihkan. Tentukan nama baru untuk bidang Pageetitle: "Judul berita" dan alias: "Alamat Halaman".

Setelah itu, buka tab "Bidang Tambahan" dan tunjukkan bahwa parameter TV harus dalam satu atau lain area formulir (sesuai dengan boks).

Masih menentukan, untuk sumber daya apa aturan ini valid - dalam pola pola paragraf, kami menunjukkan sumber daya dengan template untuk menerapkan aturan. Jika aturan untuk semua templat, saya tidak menentukan apa-apa. Dan ada dua item: "Batas Batas" dan "Membatasi Makna." Di sini Anda dapat menentukan sisa bidang.

Mari kita tunjukkan bahwa aturan ini mengacu pada sumber daya dalam "berita" - di "bidang pembatas" tulis paragraf induk., dan dalam "membatasi nilai" id dari sumber daya "Berita", misalnya, 22 .

Saya sudah memiliki beberapa pelajaran untuk membuat formulir pada formit dalam bundel C - bundel ini memiliki keunggulan: Mengirim formulir tanpa me-reboot, ada jendela renang yang dikirim, dll. Dengan demikian, minusnya: JS dan kode ditambahkan ke kode. file CSS. - Apa yang memberi minus ke kecepatan dan dalam output JS bukan tipe yang diperlukan dalam panggilan, karena itu, peringatan muncul dalam validator - tidak perlu menentukannya dalam HTML 5.

Karena itu, saya memutuskan untuk membuat formulir pada Formit Pure, itu tentang ini hari ini dan pelajaran.

Markup formulir HTML sekarang memiliki kode berikut:

Tidak ada yang istimewa, jadi untuk berbicara standar dengan tata letak bootstrap 4. Saya akan mengulanginya, dengan mempertimbangkan sintaks dan dalam satu kami meningkatkan berlebihan, Russify, menambahkan perlindungan terhadap spam:

[[! Formit? & hooks \u003d `spam, email` & emailtpl \u003d` email-tpl` & emailto \u003d `[[++ emailsender]]` & emailSubject \u003d `huruf dari situs [[++ site_url]]` & validate \u003d `workemail \u003d` Kosong, Nama: Diperlukan, Email: Email: Diperlukan, Pesan: Diperlukan: Striptags, Telepon: Diperlukan` & Successage \u003d `

Terima kasih, banding Anda dikirim.

`]] [[! + FI.SuccessMessage: default \u003d` ``]]
[[! + FI.Error.Name]]
[[! + Fi.rror.Phone]]
[[! + FI.Error.email]]
[[! + FI.Error.message]]

Analisis kode, kami pergi dari atas di bagian bawah:

& Kait - kait yang berbeda ditambahkan di sini, termasuk self-in: dalam kasus kami, 2 standar: rentang - perlindungan sederhana terhadap spam dan email - wajib, untuk mengirim data kotak surat. Tentang sisa kait, saya beri tahu secara detail dalam video.

& emailtpl - chanc dengan desain huruf, memiliki kode berikut:

Dari Siapakah: [[+ Nama]]

Telepon: [[+ Telepon]]

E-mail: [[+ Email]]

Pesan: [[+ Pesan]]

& EmailTo - Alamat surel di mana formulir dikirim, di kasus ini ditentukan pengaturan sistem (Kunci) ++ EmailSerter

& EmailSubject - topik surat terkirim

& Memvalidasi - kami meresepkan bidang yang diperlukan untuk mengisi dan sering bidang untuk melindungi dari spam

& SuccessMessage - Pesan setelah pengiriman sukses

Saya tidak akan membongkar kode kode, yang tertarik menonton video dan membaca dokumentasi: docs.modx.com/extras/revo/formit

Melampirkan file ke formulir

Agar dapat melampirkan dan mengirim lampiran, perlu mendaftar di tag cetakan

Enctipe \u003d "multipart / formulir-data"

dan masing-masing menambahkan bidang untuk melampirkan file

[[! + FI.Error.upload]]

Memproses chekboxer dan opsi

Berbagai formulir pada satu halaman

Hanya dalam panggilan setiap formulir, tulis

& kirimkanVar \u003d `nama formulir dalam bahasa Inggris`

setiap bentuk memiliki namanya sendiri.

Pertempuran spam.

Bagaimana tidak memutar, tetapi Anda pasti akan menemukan spam - yang paling metode yang efektif Untuk memerangi itu -, Anda juga dapat mencoba.

Selamat siang! Hari ini saya akan memperkenalkan Anda untuk membuat formulir umpan balik untuk modx revolusi, yang mana akan menjadi capping yang tidak biasa (karena Googlovsk Qaptcha terlalu rumit dan rumit). Melakukan umpan balik Kami akan menggunakan add-on formit. Anda dapat menginstalnya, mungkin diri Anda sendiri, baik, bagi mereka yang tidak tahu bagaimana melakukannya, saya masih memotong pelajaran dari awal hingga akhir. Mulai!

Saya merindukan semua momen terkait instalasi MODX Revolution., pengaturan sistem, desain situs embedding dan sebagainya. Mari kita mulai dengan instalasi paket formit.

1. Buka Sistem - Manajemen Paket

2. Klik "muat tambahan"

3. Pilih dari daftar formit

Klik "Unduh." Setelah memuat formit, Anda muncul di paket yang diunduh, klik tombol install. Formit dipasang!

4. Selanjutnya, buat chank baru

Mari kita sebut "Formulir", dan masukkan kode berikut:

[[! QAPTCHA]] [[! Formit? & Hooks \u003d `spam, email, redirect` & emailtpl \u003d` senmailtpl` & emailsubject \u003d `Callback Application` & emailto \u003d` `ID halaman Anda" Berhasil dikirim "` & validate \u003d `contact_name: wajib, contact_phone_na_format: wajib` & customvalidators \u003d `qaptcha.slider`]]

[[+ qaptcha.slider]]

Berikut adalah tantangan dari bentuk cuplikan, bentuk dan captcha, yang akan kami paksa bekerja dalam barang-barang berikut. Jangan lupa dalam parameter emailto. Tentukan kotak surat tempat surat itu harus datang, dan masuk dialihkan ke.perlu meletakkan ID Halaman "berhasil dikirim"

5. Buat Chank Sentemailtpl

Dia akan berbicara, informasi apa yang akan dikirim ke surat dan masukkan kode di sana:

Nama: [[+ contact_name]]
Email: [[+ contact_email]]
Telepon: [[+ contact_phone_na_format]]
Catatan: [[+ contact_message]]]

6. Buat dokumen baru yang disebut "Surat berhasil dikirim"

Dalam isi sumber daya Anda dapat memasukkan tipe teks: Kami menerima surat Anda! Terima kasih telah memilih perusahaan kami. Manajer kami dalam waktu sesingkat mungkin akan menghubungi Anda di telepon kontak yang Anda tinggalkan dalam aplikasi!

7. Sekarang kita akan berurusan dengan Capacit

Kami menghubungkan halaman jQuery Bibilot:

8. Buat katalog aset / Komponen / Qaptcha / dan inti / Komponen / Qaptcha /

Di katalog aset / Komponen / Qaptcha /kami menempatkan folder gambar dan jQuery dengan konten, dan masuk inti / Komponen / Qaptcha / -folder PHP dengan file qaptcha.jquery

9. Buat Cuplikan Qaptcha

dan letakkan kode berikut di sana:

regclientcss (mod x_sit_url. "Aset / komponen / qaptcha / jquery / qaptcha.jquery.css"); $ Modx-\u003e regclementscript (mod x_sit_url. "Aset / komponen / qaptcha / jquery / jquery-ui.js"); $ MODX-\u003e RegClientScript (MODX_SITE_URL. "Aset / Komponen / Qaptha / jQuery / jQuery.UI.Touch.js"); $ Modx-\u003e regclementscript (mod x_sit_url. "Aset / komponen / qaptcha / jquery / qaptcha.jquery.js"); $ Modx-\u003e setplaceholder ("qaptcha.slider", "

"); $ paramqaptcha \u003d array (); $ modx-\u003e getservice (" leksikon "," modxicon "); $ modx-\u003e leksikon-\u003e beban (" qaptcha: default "\u003d $ modx-\u003e lexicon ( "Pindahkan loader ke kanan untuk membuka"); $ txtunlock \u003d $ modx-\u003e Lexicon ("Anda dapat mengklik tombol" Kirim "); jika (! Kosong ($ disabledsubmit)) $ paramqaptcha \u003d" DisabledSubmit: "$ DisableSubmit ; $ paramqaptcha \u003d "phpfile: \\" ". MODX_SITE_URL. "Inti / komponen / qaptcha / php / qaptcha.jquery.php \\" "; $ paramqaptcha \u003d" txtlock: \\ "". $ Txtlock. "\\" "; $ Paramqaptcha \u003d" txtunlock: \\ "". $ Txtunlock. " \\ "" $ paramqaptcha \u003d implode (",", $ paramqaptcha); $ modx-\u003e regclienthtmlock ("");

Semua skrip dan file CSS segera terhubung melalui itu, dan playtyolder disebut Qaptcha.slider.

10. Kami menempatkan Chank di mana kami ingin melihat captch (dan perhatian: di mana perpustakaan jQuery terhubung, itu tidak akan berfungsi tanpa perpustakaan) dan bersukacita :))

Semua pekerjaan yang sukses dan suasana akhir pekan yang baik!

P. Saya punya ide bagus)))) Di "demo" saya menaruh surat saya dan semua surat yang akan Anda kirim untuk memeriksa pekerjaan skrip akan datang kepada saya)) Terima kasih saya sedang menunggu anekdot dan cerita kecil yang lucu darimu))

Hampir semua situs komersial memiliki halaman kontak di mana formulir kontak berada di mana pengguna dapat menulis administrasi situs. Hari ini kita akan melihat seberapa cepat membuat formulir kontak. Kami akan menerapkan formulir umpan balik menggunakan paket Formit. Dalam paket dengan paket Ajaxform., Instal jika mereka tidak diinstal.

Membuat formulir umpan balik di MODX Revo dengan izin untuk memproses data pribadi sesuai dengan Undang-Undang No. 152-FZ "pada data pribadi" tanggal 27 Juli 2006.

Hal pertama yang kami buat chank, di mana formulir itu sendiri akan disimpan, biarkan Chank "Kontact-Form" dan masukkan kode formulir standar, pada dasarnya saya lakukan situs web menggunakan bootstrap, jadi saya akan mengambil standar. Kosong sedikit dikonversi, kode statisnya akan demikian:

Perjanjian Pengguna

Penampilan Anda akan berbeda, karena formulir saya bergaya di bawah proyek, gaya CSS tidak melihat artinya.

Di sini Anda dapat melihat formulir lain. getBoottrap.com/css/#Forms.

Dan sekarang saya akan mengulang kode menjadi dinamis dengan mempertimbangkan sintaks Formit. dan Ajaxform., Saya mendapatkan yang berikut ini.

[[+ FI.Error.Name]]
[[+ FI.Error.email]]
[[+ FI.Error.pfone]]
[[+ fi.Error.message]]

Dengan meletakkan tanda, saya memberikan persetujuan saya untuk pemrosesan data pribadi saya sesuai dengan Undang-Undang No. 152-FZ "pada data pribadi" pada 27 Juli 2006 dan menerima ketentuan perjanjian pengguna

[[+ Fi.Success: is \u003d `1`: lalu \u003d`
[[+ fi.successmessage]]
`]] [[+ fiidation_error: is \u003d` 1`: lalu \u003d `
[[+ Fi.validation_error_message]]
`]]

Sekarang kita membuat chank lain, yang akan membentuk surat, mari kita sebut saja - Kontact-Form dengan konten berikut:

Nama: [[+ Nama]]

Email: [[+ Email]]

Telepon: [[+ PFOE]]

Pesan: [[+ Pesan]]

Nah, itu disimpulkan di tempat yang tepat:

[[! Ajaxform? & cuplikan \u003d `Formit` & Form \u003d` Kontact-Form` & EmailTl \u003d `TPL-Kontact-Form` & Hooks \u003d` spam, email` & emailSubject \u003d `Pesan dari situs [[++ Site_url]]` & emailto \u003d `. [Dilindungi Email]`& Validate \u003d` Nama: Diperlukan, Email: Diperlukan` & ValidationErrrorRessage \u003d `Dalam formulir berisi kesalahan!` & SuccessMessage \u003d `Pesan berhasil dikirim!`]

Jangan lupa untuk mengubah nilainya emailto. pada surat Anda.

Dokumentasi Komponen:

  1. Formit.docs.modx.com/extras/revo/formit.
  2. Ajaxform.docs.modx.pro/components/ajaxform.

Itu pada dasarnya!

Untuk membuat formulir pada MODX tanpa spam, perlu untuk membuatnya dengan bidang tambahan yang tidak terlihat:

1. Unduh dan instal komponen AJAxform dan formit

2. Formulir ini disebut sangat sederhana, Anda harus mencari tahu

[[! Ajaxform? & cuplikan \u003d `formit` & form \u003d` tpl.ajaxform..ru `& emailto \u003d` [Dilindungi Email]situs & Validasi \u003d `Nama: Diperlukan, Email: Diperlukan, Pesan: Diperlukan, Kerja-Email: Kosong` & ValidationErrorrorSage \u003d` Formulir berisi kesalahan! `Terima kasih atas aplikasinya! Kami akan menghubungi Anda dalam waktu dekat. '& Emailtpl \u003d `mafterpl`]]

Atau melalui fenom shablanizer, seperti ini:

($ _MODX-\u003e RunSnippet ("! Ajaxform", ["Cuplikan" \u003d\u003e "Formit", "Formulir" \u003d\u003e "TPL.Ajaxform.example", "Hooks" \u003d\u003e "Email, spam" "email" \u003d\u003e " " [Dilindungi Email]"," EmailSubject "\u003d\u003e" Aplikasi dari situs daruse.ru "," emailto "\u003d\u003e" [Dilindungi Email]"," Validasi "\u003d\u003e" Nama: Diperlukan, Email: Diperlukan, Pesan: Diperlukan, Kerja-Email: Kosong "," ValidationErrMessage "\u003d\u003e" Dalam formulir berisi kesalahan! "," Terima kasih untuk itu aplikasi! Kami akan menghubungi Anda dalam waktu dekat. "," Emailtpl "\u003d\u003e" Mailtpl ",])))

Deskripsi parameter:

  • cuplikan - Cuplikan untuk memproses ajaxform, atur formit - itu hanya mengirim surat-surat
  • formulir - Desain Formulir Chanka, adalah orang yang default
  • kait - kait untuk melindungi dari spam
  • emailFrom - Alamat dari mana surat itu datang
  • emailTo - Alamat surat itu datang
  • validasi - Validasi, di sini juga dua bidang yang tidak terlihat
  • validationErrorrorSage - Pesan yang akan output, dengan input bidang yang tidak berhasil
  • successMessage - Pesan yang akan ditampilkan ketika berhasil mengirim surat
  • emailtpl - Chank, di mana templat surat masuk pada surat disimpan (baca tentang hal itu di bawah)

3. Setelah itu, kami pergi ke potongan desain bentuk kami, dalam hal ini adalah TPL.AJAXFORM.EXample dan menambahkan setelah tag formulir, dua bidang berikut.

...

Sekarang bentuk Anda seharusnya tidak spam, karena dua bidang baru.

4. Jenis Surat Masuk Eksternal

Secara default, surat itu datang ke surat tanpa format dalam format yang tidak terlalu mudah dibaca. Karena itu, mari kita letakkan sedikit surat kita pada contoh.

Template surat adalah chank sederhana, yang kami tentukan dalam parameter emailtpl, Semuanya sangat sederhana, saya akan menulis contoh pendaftaran. Jika Anda adalah pertanyaan, tulis di komentar.

mailtpl:

On line [[++ Site_url]]] meninggalkan aplikasi.

[[+ Nama: NotEsty \u003d `

Nama: [[+ Nama]]

`]] [[+ email: notesty \u003d`

Mail: [[+ Email]]

`]] [[+ Pesan: notesty \u003d`

Pesan: [[+ Pesan]]

`]]

Silakan hubungi dia dalam waktu dekat.

Jangan menanggapi surat ini, karena otomatis.

Baca tentang menciptakan dan dengan perlindungan spam.