Modx revo membuat sumber file dengan mengunggah. Revolusi MODx: membuat aset dan memuat file dari frontend

Di Evolution, semuanya cukup sederhana: buat hak pengguna dan selesai! Dan di sini Anda perlu melakukan banyak langkah, tetapi di sisi lain - di Modx Revolution, dengan hak atas dokumen dan file, Anda dapat melakukan apa pun yang Anda inginkan (kecuali, tentu saja, Anda memahaminya). Baiklah, mari kita mulai!

1. Buka "Keamanan" - "Kontrol Akses" di menu atas panel admin

2. Buka tab "Kebijakan Akses"

3. Klik tombol "Buat Kebijakan Akses"

Kami akan membuka jendela dengan bidang. Di bidang Nama, tulis "manajer", templat kebijakan akses adalah AdministratorTemplate. Klik tombol simpan

4. Setelah menyimpan kebijakan akses "manajer", kami melihat bahwa itu muncul di daftar kebijakan akses kami

5. Pengeditan manajer

6. Hapus centang pada parameter yang tidak perlu

Di bagian bawah halaman yang terbuka ini, ada daftar opsi (izin). Kami perlu menghapus centang pada parameter yang bertanggung jawab untuk menampilkan sumber daya apa pun di panel admin untuk menghindari pengeditan atau penghapusan dokumen, file, elemen yang diperlukan agar situs berfungsi dengan baik.

Kami menghapus tanda centang dari parameter berikut:

  • access_permissions Menampilkan halaman dengan pengaturan untuk hak akses pengguna
  • dasbor Lihat dan kelola dasbor
  • element_tree Kemampuan untuk melihat pohon elemen di panel navigasi kiri
  • menu_reports Tampilkan item "Laporan" di menu atas
  • menu_security Tampilkan item "Keamanan" di menu atas
  • menu_system Tampilkan item "Sistem" di menu atas
  • menu_tools Tampilkan item "Alat" di menu atas
  • new_static_resource Buat sumber daya statis baru.
  • remove_locks Hapus semua kunci di situs

7. Buka tab "Keamanan" - "Kontrol Akses" - "Peran"


8. Tekan tombol "Buat baru", di kolom Nama yang kita kendarai di Manajer, Peringkat - 9, tekan tombol "Simpan"


9. Simpan perubahan dan pergi ke "Keamanan" - "Kontrol Akses" - "Grup Pengguna"


Klik kanan pada "Administrator" dan klik "Buat grup pengguna"

10. Buat grup baru: Nama - Manajer, Kebijakan Backend - tidak ada kebijakan, klik "Simpan"

11. Temukan di daftar Grup Pengguna dan klik "edit"

12. Masuk ke menu "Access to contexts" dan klik "Add context"

13. Konteks - mgr, Peran minimum - Manajer - 9, Kebijakan Akses - Manajer

14. Menambahkan Lebih Banyak Konteks

Lebih tepatnya, kami mengedit web yang ada: Konteks - web, Peran minimum - Manajer - 9, Kebijakan Akses - Administrator. Klik tombol "Simpan"

15. Kita akan melihat gambar seperti itu! Kami menyimpan semuanya di tab "Grup pengguna: Manajer"

16. Selanjutnya: "Keamanan" - "Manajemen Pengguna"

17. Buat pengguna baru (ini akan menjadi klien kami) - tekan tombol "Pengguna baru".

Anda dapat memberinya nama apa pun yang Anda inginkan, saya akan memanggilnya manajer

18. Nama pengguna - pengelola, klik kotak centang - Aktif, drive di email

19. Tentukan kata sandi

20. Sebelum menyimpan, buka tab "Hak Akses"

21. Tekan tombol "Tambahkan pengguna ke grup", Grup pengguna - "Manajer", Peran - "Manajer"

Kami menyimpan. Ini menyelesaikan pembuatan panel admin, di mana klien hanya memiliki akses untuk mengedit dan membuat halaman di pohon dokumen. Tetapi pengguna ini masih memiliki akses ke semua file di sistem. Dan oleh karena itu, sekarang kita akan membuatnya sehingga dia hanya memiliki akses ke satu folder, yang akan kita buat di root situs Revolusi Modx.

22. Buka tab "Alat" - "Sumber File"

23. Daftar semua sumber file akan terbuka. Secara default, hanya satu yang dibuat - Sistem file

Sebelum membuat sumber file baru, Anda harus terlebih dahulu memodifikasi yang ini. Klik "Filesystem" dengan tombol kanan mouse dan pilih "Edit"

24. Jendela ini akan terbuka. Klik "Tambah Grup Pengguna"

25. Grup pengguna - Administrator, Peran minimum - Pengguna Super - 0, Kebijakan - Admin Sumber Media. Klik "Simpan"

26. Kembali ke File Sources dan buat file source baru

Sebut saja "Manager", Tim Sumber File - Sistem File

27. Klik kanan pada sumber file baru "Manager" dan pilih "Edit"

28. Jendela seperti itu akan terbuka! Kita perlu mengubah 4 parameter pertama

Di basePath di lapangan, kami mengetik / Pengelola /, basePathRelative dan baseUrlRelative dibiarkan apa adanya dengan nilai “Yes”, pada field baseUrl kita tulis Pengelola /

29. Kita masuk ke parameter tv

30. Klik tab terbaru "File Sources"

dan ubah sumber file dari "Filesystem" menjadi "Manager". Kami menyimpan!

31. Tambahkan grup pengguna ke "Manager"

Sekarang, setelah semua langkah diambil, buka "Sumber file" - "Manajer" dan tambahkan grup pengguna ke sumber file ini

32. Grup pengguna - Manajer, Peran minimum - Manajer - 9, Kebijakan - Admin Sumber Media. Klik "Simpan"

Setelah disimpan, sumber file "Manager" akan hilang untuk administrator. Agar dapat mengedit sumber file ini, Anda harus membuka menu "Keamanan - Kontrol Akses". Buka untuk mengedit grup manajer: Manajer dan di tab "Sumber File" temukan dan hapus sumber Manajer. Baru setelah itu kita bisa mengedit lagi sumber yang diberikan dari bawah administrator.

33. Kosongkan cache untuk berjaga-jaga

dan pengguna kami dengan hak dan akses terbatas ke berkas sistem dibuat!

Saya tidak akan mengatakan bahwa itu cukup mudah, tetapi jika Anda melakukannya secara otomatis, maka itu tidak akan tampak seperti sesuatu yang sulit. Saya harap Anda berhasil! Semoga sukses dengan proyek Anda!

Sebuah artikel di mana kami akan mempertimbangkan bagaimana caranya Revolusi MODX sistem hak akses telah diatur, serta beberapa petunjuk umum untuk mengatur izin bagi pengguna.

Sistem hak akses di MODX

Revolusi MODX tidak memungkinkan Anda untuk secara langsung memberikan hak kepada pengguna. Dalam sistem ini aksi ini dilakukan melalui kelompok pengguna.

Dengan kata lain, untuk memberikan beberapa hak kepada pengguna, perlu:

  • buat grup dan berikan hak istimewa yang diperlukan;
  • menempatkan satu atau lebih pengguna dalam grup ini.

Tetapi kehadiran pengguna dalam grup tidak berarti bahwa ia akan menerima semua hak istimewanya. Hak yang akan diterima pengguna akan ditentukan menggunakan peran yang diberikan kepadanya di grup ini. Peran (peringkat) pengguna dalam grup ditentukan menggunakan angka dari 0 hingga 9999. Nilai ini menentukan pengguna mana yang akan menerima hak istimewa grup dan mana yang tidak.

Dengan kata lain peran- ini adalah semacam mekanisme yang memungkinkan pengguna yang berbeda untuk menetapkan hak yang berbeda dalam grup yang sama.

Mari kita lihat contoh kecil.


Dalam contoh ini:

  • Pengguna Pengguna1 milik grup Grup 1... Dia memiliki hak istimewa kelompok itu, yang perannya lebih besar. 2000 .
  • Pengguna Pengguna2 terdiri dari 2 kelompok. Ini memiliki 2 hak istimewa grup. Dari kelompok pertama ( Grup 1) dia memiliki hak istimewa yang perannya lebih besar dari atau sama dengan 1000 ... Dan dari yang kedua ( Grup2) - hak istimewa yang perannya lebih besar atau sama dengan 9999 .
  • Pengguna Pengguna3 ada di grup Grup2... Kelompok ini memberinya hak-hak itu, yang perannya lebih besar atau setara 5000 .

Kebijakan Akses MODX

Menetapkan hak istimewa grup dalam Revolusi MODX dilakukan dengan menggunakan kebijakan akses... Ini (kebijakan akses) ditugaskan ke grup dalam kaitannya dengan entitas MODX tertentu, yaitu konteks, grup sumber daya, kategori item, sumber file, dan namespace. Selain itu, juga ditunjukkan peran minimal yang mana pengguna grup ini perlu memiliki hak istimewa ini.

Pertimbangkan sebuah gambar.

Hak istimewa yang diperoleh pengguna grup, tergantung pada peran apa yang mereka mainkan di dalamnya

Dalam contoh ini:

  • Pengguna Pengguna1(peran dalam grup Grup1 - 2000 ) memiliki semua hak istimewa grup Grup 1 yang perannya lebih besar atau sama dengan 2000. Artinya, ini K1, K2 dan G2.
  • Pengguna Pengguna2 memiliki peran tertinggi dalam grup (0) dan, oleh karena itu, semua hak istimewanya ( K1, K2, D1 dan G2).
  • Pengguna Pengguna3 ada di grup Grup 1 peran terendah ( 9999 ). Sesuai dengan itu, dia dapat melakukan tindakan dalam sistem, yang didefinisikan dalam K2 dan G2.

Kebijakan akses adalah seperangkat hak yang diberikan kepada pengguna untuk melakukan tindakan di situs yang didukung oleh CMS MODX Revolution.

Mengapa diterapkan dengan cara ini? Ini karena ada banyak hak di MODX dan lebih mudah untuk menetapkannya dalam grup (dengan kata lain, menggunakan kebijakan akses), dan bukan satu per satu.

Misalnya, kebijakan akses Muat, Daftar, dan Lihat memiliki set izin berikut:

  • memuat (memuat objek);
  • list (mendapatkan kumpulan objek);
  • view (melihat objek).

Cara membuat kebijakan akses Anda sendiri

Saat mengatur izin untuk grup pengguna, Anda tidak terbatas pada kebijakan (pra-instal) yang ada di sistem MODX. Anda dapat membuat yang baru jika perlu. Pembuatan kebijakan di MODX didasarkan pada templat kebijakan akses... Templat Kebijakan Akses adalah entitas Revolusi MODX yang menentukan daftar maksimum izin yang tersedia saat membuat Kebijakan Akses.

Dengan demikian, untuk buat kebijakan akses dengan izin yang diperlukan diperlukan:

  1. Temukan templat kebijakan akses yang sesuai (jika perlu, edit yang sudah ada atau buat yang baru).
  2. Buat kebijakan akses dengan memilih template yang sesuai.
  3. Sertakan dari seluruh daftar izin yang ditawarkan oleh template, hanya izin yang ingin Anda berikan kepada pengguna (jika mereka akan memiliki kebijakan ini).
Bagaimana kumpulan izin yang tersedia dari kebijakan akses ditentukan

Saat membuat kebijakan akses, selalu mulai dengan menetapkan jumlah minimum hak yang cukup bagi pengguna untuk melakukan tindakan tertentu dalam sistem. Jika perlu, Anda selalu dapat memperpanjang izin yang diberikan kepada pengguna.

Pengguna anonim

Dalam Revolusi MODX, setiap pengunjung situs yang tidak sah adalah anonim dan termasuk dalam grup (anonim)... Anda dapat dengan mudah memverifikasi ini jika Anda membuat cuplikan berikut, memanggilnya di template sumber daya, lalu membuka halaman.

Kode php untuk cuplikan GetUser:

pengguna-> dapatkan ("nama pengguna");

Memanggil cuplikan di halaman:

[[! GetUser]]

Hasil kerja:

(anonim)

Tindakan pengguna anonim di situs di MODX diatur dengan mengatur izin grup (anonim)... Jika perlu, Anda dapat memberikan hak istimewa tambahan kepada grup ini atau membatasinya.

Instruksi umum untuk mengatur izin

Di bagian ini, kita akan melihat petunjuk yang dapat Anda gunakan saat Anda perlu:

  • membatasi akses ke sumber daya tertentu untuk pengguna anonim;
  • buat pengelola konten yang perlu diberi akses untuk bekerja dengan sumber daya di panel admin, serta kemampuan untuk mengunggah gambar.

Membatasi akses ke sumber daya tertentu

Pertimbangkan contoh di mana kami akan membatasi akses pengguna anonim ke sumber daya tertentu (misalnya, ke akun pribadi, ke halaman "Ubah kata sandi", dll.). Kami akan memberikan akses ke sumber daya ini hanya untuk pengguna terdaftar.

Untuk melakukan ini, Anda harus:

  1. Membuat grup sumber daya Pengguna(Konten -> Grup Sumber Daya -> Buat tombol Grup Sumber Daya). Dalam formulir yang muncul, masukkan di bidang "Nama" - Pengguna dan klik tombol "Simpan". Tempatkan sumber daya yang diperlukan di dalamnya (akses yang harus dibatasi untuk pengunjung anonim).
  2. Membuat grup Pengguna(Ikon "Gear" -> Kontrol akses -> tombol "Grup pengguna baru"). Di kotak dialog yang terbuka, masukkan bidang "Nama" - Pengguna, "Konteks" - web, "Kebijakan Backend" - (tidak ada kebijakan).
  3. Beralih ke mode pengeditan grup (pilih item "Edit grup pengguna" di menu konteks Pengguna).
  4. Buka tab "Hak akses", dan di dalamnya "Akses ke grup sumber daya". Klik tombol "Tambahkan grup sumber daya" dan isi formulir yang dibuka ("Grup sumber daya" - Kelompok, "Konteks" - (web), Peran minimumnya adalah Anggota (9999), "Kebijakan Akses" - Muat, Daftar, dan Lihat).

Setelah itu, pengguna anonim atau pengguna lain (yang tidak memiliki hak) akan menerima 404 Sumber Daya(karena dia bahkan tidak memiliki hak memuat) jika dia mencoba membuka halaman mana pun dari grup ini.

Jika Anda ingin pengguna anonim, saat membuka halaman yang dilindungi, untuk meneruskan ke yang lain (misalnya, otorisasi), maka Anda juga harus melakukan hal berikut (yaitu, memberikan hak memuat untuk grup sumber daya ini):

  1. Membuka pengaturan sistem(Ikon "Gear" -> Pengaturan sistem). Pilih namespace "inti", bagian "Situs". Temukan parameter halaman_tidak sah(Halaman kesalahan 403 "Access Denied") dan tentukan sebagai nilai - ID sumber daya berisi formulir "Otorisasi".
  2. Beralih ke mode pengeditan grup (anonim)... Di bagian "Akses ke grup sumber daya" (tab "Hak akses") tambahkan grup sumber daya Pengguna dan atur hak yang diperlukan untuk itu (dalam hal ini, "Konteks" - (web), Peran minimumnya adalah Anggota (9999), "Kebijakan Akses" - Muat Saja).
Mengonfigurasi akses ke grup sumber daya Pengguna untuk pengguna anonim

Menetapkan hak untuk pengelola konten

Dalam contoh ini, kami akan membuat grup "Manajer", yang penggunanya dapat mengunggah gambar ke direktori di panel admin dan bekerja dengan sumber daya tertentu.

Untuk melakukan ini, Anda dapat, misalnya, menggunakan instruksi berikut:

1. Buat baru Kebijakan akses manajer dengan hak yang diperlukan:

  • Buka halaman "Access Control" (ikon "Gear" -> Access Control) dan buka tab "Access Policy".
  • Buat salinan kebijakan "Editor Konten".
  • Edit salinan yang dibuat, yaitu, ubah bidang nama menjadi Manajer dan centang kotak di seberang directory_list, file_list, file_manager, file_remove, file_tree, file_upload rights. Akibatnya, kebijakan akses Manajer akan memiliki 30 izin. Ini harus dilakukan untuk memberikan hak pengguna untuk bekerja dengan file.
  • Klik tombol "Simpan".
Formulir konfigurasi kebijakan akses manajer

2. Sembunyikan sumber daya yang tidak boleh diakses oleh pengelola di panel admin:

  • Buka halaman Grup Sumber Daya dan klik tombol Buat Grup Sumber Daya.
  • Dalam formulir yang terbuka, masukkan "Nama" - TertutupUntukManajer, "Konteks" - mgr dan tanda opsi "Secara otomatis memberikan akses ke grup Administrator".
  • Klik tombol "Simpan".
  • Seret dan lepas sumber daya ke grup yang dibuat yang perlu disembunyikan untuk pengelola di panel admin.

3. Berikan akses ke direktori tempat pengguna akan mengunggah gambar.

  • Buka halaman "Sumber File", klik tombol "Buat sumber baru file".
  • Dalam formulir yang terbuka, masukkan teks di bidang "Nama" Gambar-gambar, dalam "Deskripsi" - Gambar-gambar, di "Jenis sumber file" - Berkas sistem.
  • Klik tombol "Simpan".
  • Edit sumber file yang baru dibuat (tombol kanan mouse -> tindakan "Edit").
  • Ubah nilai parameter: basePath - aset / gambar /, URL dasar - aset / gambar /, JenisBerkas yang diizinkan - jpg, jpeg, png, gif.
  • Klik tombol "Simpan".
Mengonfigurasi sumber file Gambar

Sumber file yang tidak memiliki grup pengguna terkait akan tersedia untuk semua pengguna backend. Oleh karena itu, untuk mencegah pengguna grup manajer menampilkan sumber file lain yang tidak terkait dengan lebih dari satu grup, misalnya, Anda dapat menetapkan mereka ke grup pengguna Administrator.

MODX - Tautkan sumber Filesystem ke grup Administrator

Sistem kontrol akses MODX menggunakan sumber file memungkinkan pengguna yang berbeda untuk mengatur direktori tertentu yang akan mereka akses, serta untuk menentukan satu set hak istimewa mereka di dalamnya. Dengan kata lain, ini adalah sistem di mana, misalnya, beberapa pengguna dapat diberikan beberapa katalog, dan lainnya - lainnya.

4. Buat grup baru pengguna dan memberikan hak yang diperlukan untuk itu.

  • Buka halaman "Kontrol Akses", buka tab "Grup Pengguna & Pengguna", klik tombol "Grup Pengguna Baru".
  • Di kotak dialog yang terbuka, isi bidang berikut: "Nama" - Manajer; "Keterangan" - Manajer; "Konteks" - web, mgr; "Kebijakan Backend" - Pengelola.
  • Klik tombol "Simpan".
  • Beralih ke mode pengeditan grup pengguna "Manajer" yang baru saja dibuat (klik kanan pada grup -> item dalam menu konteks "Edit").
  • Buka tab "Hak akses".
  • Buka bagian "Akses ke konteks". Akses konteks web: "Peran minimal" - Anggota (9999); Kebijakan Akses - Muat, Daftar, dan Lihat... Mengakses konteks mgr: "Peran minimal" - Anggota (9999), Kebijakan Akses - Pengelola.
  • Di bagian "Akses ke sumber file", tambahkan entri baru dengan nilai berikut: "Sumber" - Gambar-gambar; "Peran minimal" - Anggota (9999), "Kebijakan Akses" - Admin Sumber Media.
  • Klik tombol "Simpan"

5. Buat pengguna dan tambahkan ke grup "Manajer". Atur nilai peran ke 9999 (Anggota). Peran ini akan cukup baginya untuk mendapatkan semua izin dari grup ini. Ini karena fakta bahwa untuk grup ini kami tidak menetapkan kebijakan akses yang memerlukan peran lebih dari 9999.

Menambahkan pengguna ke grup Manajer (Peran anggota)

Halo untuk semua pembaca blog WebHow! Akhirnya, saya menemukan plugin yang bagus untuk penyorotan kode dalam artikel, dan sekarang Anda dapat memulai bisnis yang serius. Jadi, selain lelucon, hari ini akan ada posting kasar bagi mereka yang bermimpi mengatur papan buletin, katalog, atau layanan lainnya di situs web MODx mereka, di mana pengunjung akan memposting konten mereka sendiri.

Siapa pun yang setidaknya sedikit akrab dengan MODx tahu bahwa untuk memposting konten mereka, pengguna harus memiliki akses ke panel admin. Tentu saja, saya tidak ingin mendistribusikannya dari kanan ke kiri. Oleh karena itu, Anda perlu memastikan bahwa pengguna dapat membuat sumber daya dan mengunggah file ke mereka langsung dari halaman situs.

Saya bukan seorang programmer, dan ketika saya pertama kali harus membuat papan pesan di MODx, yang bisa saya lakukan hanyalah mencari solusi yang sudah jadi. Ada beberapa opsi cuplikan berbeda yang memungkinkan penerbitan sumber daya dari frontend untuk MODx Revolution.

Prinsipnya kira-kira sama untuk semua orang: menggunakan FormIt, halaman dengan formulir dibuat, di mana nama snippet ditulis. Untuk setiap jenis iklan, bidang TV sendiri dibuat, misalnya, kota, telepon, atau bidang untuk mengunggah gambar. Saat pengguna mengirimkan formulir, sumber daya dibuat.

Namun, hampir semua cuplikan yang berhasil saya temukan sangat rumit: setiap parameter TV harus ditulis dalam kode cuplikan, dan ini tidak cocok untuk saya. Karena untuk setiap jenis iklan, saya menyusun setidaknya 3 bidang tambahan, dan semuanya harus ditulis dalam cuplikan ... tidak, ada cara yang lebih baik dan lebih mudah. Itu ditemukan oleh saya di bagian bahasa Inggris dari forum resmi MODx.com. Dan jika Anda tidak berbicara dan membaca bahasa Inggris dengan baik, atau Anda terlalu malas untuk mencari opsi yang cocok dari beberapa topik, saya akan memberitahu Anda bagaimana menggunakannya.

Saya telah merekam video tutorial langkah demi langkah tentang topik ini. Anda akan menemukan semua bahan untuk itu tepat di bawah pemutar.

Kode cuplikan sumber daya Formit2

getObject ("modResource", array ("id" => $ hook-> getValue ("resource_id"))); if (kosong ($ doc)) ($ doc = $ modx-> newObject ("modResource"); $ doc-> set ("createdby", $ modx-> user-> get ("id"));) else ($ doc-> set ("editedby", $ modx-> user-> get ("id"));) $ allFormFields = $ hook-> getValues(); foreach ($ allFormFields as $ field => $ value) (if ($ field! == "spam" && $ field! == "resource_id") ($ doc-> set ($ field, $ value);)) $ alias = $doc->cleanAlias($fields["pagetitle"]); if ($ modx-> getCount (modResource, array ("alias" => $ alias))! = 0) ($ count = 1; $ newAlias ​​​​= $ alias; while ($ modx-> getCount (modResource, array (" alias "=> $ newAlias))! = 0) ($ newAlias ​​​​= $ alias; $ newAlias. =" - ". $ count; $ count ++;) $ alias = $ newAlias;) $ doc- > set("alias", $alias); $ doc-> set("templat", $templat); $ doc-> simpan(); foreach ($ allFormFields as $ field => $ value) (if (! kosong ($ value) && $ tv = $ modx-> getObject ("modTemplateVar", array ("name" => $ field))) (/ * menangani kotak centang & memilih beberapa elemen * / if (is_array ($ value)) ($ featureInsert = array(); while (list ($ featureValue, $ featureItem) = masing-masing ($ value)) ($ featureInsert = $ featureItem;) $ nilai = implode ("||", $ featureInsert);) $ tv-> setValue ($ doc-> get ("id"), $ nilai); $ tv-> save ();)) $ modx-> cacheManager -> menyegarkan (); kembali benar;

Kode cuplikan Formit2file

pengguna-> dapatkan ("id"); // Jalur dari root yang ditentukan pengguna // buat jalur unik untuk pengiriman formulir ini $ uploadpath = "assets / uploads /".$ mydir." / "; // dapatkan path lengkap ke folder unik $ target_path = $ modx-> config ["base_path"]. $ jalur unggah; // dapatkan nama file yang diunggah: $ file yang dikirimkan = array_keys ($ _ FILES); // loop through files foreach ($ submitfiles as $ sf) (// Dapatkan Filename dan pastikan itu bagus. $ filename = basename ($ _ FILES [$ sf] ["name"]); // Dapatkan ekstensi file "s $ ext = pathinfo ($ nama file, PATHINFO_EXTENSION); $ ext = mb_strtolower ($ ext); // case insensitive // ​​adalah nama file kosong (tidak ada file yang diunggah) if ($ nama file! = "") (// apakah ini jenis file yang benar? if (in_array ($ ext, $ ext_array)) (// bersihkan nama file dan buat $ filename = $ counter yang unik. ".". $ ext; $ filename = str_replace ("", "_" , $ filename); // spasi untuk menggarisbawahi $ filename = date ("Ym-d_G-i-s_"). $ filename; // tambahkan tanggal & waktu // path lengkap ke file baru $ myTarget = $ target_path . $ namafile ; // buat direktori untuk memindahkan file jika "tidak ada mkdir ($ target_path, 0755, true); // apakah file berhasil dipindahkan ke folder yang tepat? if (move_uploaded_file ($ _ FILES [$ sf ] [" tmp_name "], $ myTarget)) (// setel placeholder baru dengan path lengkap baru (jika Anda membutuhkannya di kait berikutnya) $ myFile = $ upload jalur. $nama file; $ hook-> setValue ($sf, $myFile); // mengatur hak akses pada file if (! chmod ($ myTarget, 0644)) (/ * beberapa fungsi debug * /)) else (// File tidak diunggah $ errorMsg = "Ada masalah saat mengunggah file."; $ hook-> addError ($ sf, $ errorMsg); $ output = false; // menghasilkan kesalahan pengiriman)) else (// Jenis file tidak diizinkan $ errorMsg = "Jenis file tidak diizinkan."; $ hook-> addError ($ sf, $ errorMsg); $ output = false; // menghasilkan kesalahan pengiriman) // jika tidak ada file, jangan "t error, tetapi kembalikan kosong) else ($ hook-> setValue ($ sf," ");) $ penghitung = $ penghitung + 1;) mengembalikan $ keluaran;

Teman-teman! Jangan lupa untuk mengganti bidang TV dan ID sumber daya Anda dalam kode formulir. Hati-hati dan Anda akan berhasil.

Memanggil FormIt

[[! Bentuknya? & hooks = `formit2file, formit2resource, redirect` & redirectTo =` ID halaman pesan` & template = `ID template iklan`]]

Kondisi untuk memanggil chunk dengan form

[[! + modx.user.id: is = `0`: then =` Untuk memasang iklan, diperlukan otorisasi [[! Loginza? & grup = `3` & profileFields =` nama pengguna, email, nama lengkap, foto`]] `: else =` [[$ form_add]] `]]

Contoh kode formulir

[[+ fi.error.error_message]]

Nama
[[+ fi.error.pagetitle]]
*
Kota
[[+ fi.error.city]]
*

Detil Deskripsi

[[+ fi.error.content]]

Lampirkan foto:

Anda dapat menempatkan hingga lima foto dalam katalog. Format yang diterima: .jpg, .png, .gif
Foto atau logo utama * [[+ fi.error.img]]
Foto tambahan (1) [[+ fi.error.foto1]]
Foto tambahan (2) [[+ fi.error.foto2]]
Foto tambahan (3) [[+ fi.error.foto3]]
Foto tambahan (4) [[+ fi.error.foto4]]

Kondisi untuk menampilkan gambar

[[* img: kosong = '']]
Sekarang pengguna situs Anda tidak hanya dapat memposting iklan, tetapi juga melengkapi mereka dengan foto, seperti di papan buletin apa pun. Tetapi bagaimana jika Anda melakukan kesalahan saat mengisi formulir? Misalnya, seseorang membuat segel dan menunjukkan nomor telepon yang salah, atau mungkin dia hanya ingin menambah iklan atau mengubah harga produknya.

Lain kali aku akan memberitahumu. Dan itu saja untuk hari ini, semoga artikel ini bermanfaat bagi Anda.