Я прошел через документацию JInput .
Мы можем получить доступ к объекту JInput следующим образом:
JFactory::getApplication()->input;
Если мы получаем больше значений, было бы полезно сохранить объект JInput в переменной, поэтому нам не нужно вызывать JFactory::getApplication()
каждый раз, когда мы делаем это:
$jinput = JFactory::getApplication()->input;
Чтобы извлечь значение из JInput, нам нужно использовать его метод get:
$data = $jinput->get('varname', 'default_value', 'filter');
Как видите, у него есть 3 параметра:
- имя переменной
- значение по умолчанию (по умолчанию ноль)
- имя фильтра (по умолчанию - cmd)
И тут возникает мой вопрос относительно 3-го параметра.
Как я могу сделать свой собственный фильтр для Jinput
? Например, если мне нужно проверить телефонные номера или IP-адрес, то как я могу сделать свой собственный фильтр для этого?
joomla-3.x
jinput
Joomler
источник
источник
Ответы:
это довольно просто
Сначала создайте пользовательский класс Jinput, такой как
class JinputTelephone
// все, что вы хотите.возможно, посмотрите существующие классы inputfilter в / library / joomla / input
// Модифицируем getter и filterMethod так, как вы хотите
// Применение
// с этим методом вы также можете использовать обычную обработку ввода // Но вы не можете использовать это с JApplication входом
Есть много других способов сделать это. Другое решение $ data = MyFilter :: SanitizeNumber ($ jinput-> get ('varname', 'default_value', 'raw'));
тебе это помогает?
источник
Моя попытка,
я вижу, что у вас есть некоторый опыт работы с Joomla, поэтому я просто вложу в него свои несколько центов.
JLoader
если я не ошибаюсь, и добавить путь к библиотекам или/plugins/system/myplugin/libraries/newfilter.php
PS. Вы можете создать таким образом переопределение ядра библиотеки и платформы Joomla. Такая проблема Curl SSL с сертификатами; )
С уважением
источник