Saya telah melalui Dokumentasi JInput .
Kita dapat mengakses objek JInput seperti ini:
JFactory::getApplication()->input;
Jika kita mengambil lebih banyak nilai, akan berguna untuk menyimpan objek JInput dalam variabel sehingga kita tidak perlu memanggil JFactory::getApplication()
setiap kali kita melakukan itu:
$jinput = JFactory::getApplication()->input;
Untuk mengambil nilai dari JInput kita perlu menggunakan metode get nya:
$data = $jinput->get('varname', 'default_value', 'filter');
Seperti yang Anda lihat, ini memiliki 3 parameter:
- nama variabel
- nilai default (standar ke nol)
- nama filter (default ke cmd)
Dan inilah pertanyaan saya mengenai parameter ke-3.
Bagaimana cara saya membuat filter sendiri Jinput
? Misalnya jika saya harus memvalidasi nomor telepon atau alamat IP, lalu bagaimana saya bisa membuat filter sendiri untuk itu?
joomla-3.x
jinput
Joomler
sumber
sumber
Jawaban:
ini cukup sederhana
Pertama-tama buatlah kelas Jinput khusus seperti
class JinputTelephone
// apa pun yang Anda inginkan.mungkin, lihat di kelas inputfilter yang ada di bawah / libraries / joomla / input
// Ubah pengambil dan filterMetode seperti yang Anda inginkan
// penggunaan
// dengan metode ini Anda juga dapat menggunakan penanganan input reguler // Tapi Anda tidak dapat menggunakannya dengan JApplication input
Ada banyak cara lain untuk melakukan itu Solusi lain $ data = MyFilter :: SanitizeNumber ($ jinput-> get ('varname', 'default_value', 'raw'));
apakah ini membantu anda?
sumber
Usaha saya,
saya melihat bahwa Anda memiliki pengalaman dengan joomla jadi saya hanya akan memasukkan beberapa sen ke dalamnya.
JLoader
jika saya tidak salah dan menambahkan path ke perpustakaan alias/plugins/system/myplugin/libraries/newfilter.php
PS. Anda dapat membuat dengan cara ini menimpa pustaka dan platform inti joomla juga. Seperti masalah Curl SSL dengan sertifikat; )
salam
sumber