I przeszły z Dokumentacją JInput .
Możemy uzyskać dostęp do obiektu JInput w następujący sposób:
JFactory::getApplication()->input;
Jeśli pobieramy więcej wartości, dobrze byłoby przechowywać obiekt JInput w zmiennej, więc nie musimy dzwonić za JFactory::getApplication()
każdym razem, gdy to robimy:
$jinput = JFactory::getApplication()->input;
Aby pobrać wartość z JInput, musimy użyć jej metody get:
$data = $jinput->get('varname', 'default_value', 'filter');
Jak widać, ma 3 parametry:
- nazwa zmiennej
- wartość domyślna (domyślnie null)
- nazwa filtra (domyślnie cmd)
I tu pojawia się moje pytanie dotyczące trzeciego parametru.
Jak mogę stworzyć własny filtr Jinput
? Na przykład, jeśli muszę zweryfikować numery telefonów lub adresy IP, to jak mogę zrobić własny filtr do tego?
joomla-3.x
jinput
Joomler
źródło
źródło
Odpowiedzi:
to jest dość proste
Najpierw utwórz niestandardową klasę Jinput, taką jak
class JinputTelephone
// co tylko chcesz.być może zajrzyj do istniejących klas filtrów wejściowych w / libraries / joomla / input
// Zmodyfikuj moduł pobierający i filterMethod, jak chcesz
// stosowanie
// za pomocą tej metody można również użyć zwykłej obsługi danych wejściowych // Ale nie można jej używać z danymi wejściowymi JApplication
Istnieje wiele innych sposobów, aby to zrobić. Inne rozwiązanie $ data = MyFilter :: SanitizeNumber ($ jinput-> get ('varname', 'default_value', 'raw'));
czy to ci pomaga?
źródło
Moja próba
Widzę, że masz trochę doświadczenia z Joomla, więc po prostu włożę w to kilka centów.
JLoader
jeśli się nie mylę i dodać ścieżkę do bibliotek aka/plugins/system/myplugin/libraries/newfilter.php
PS. możesz w ten sposób utworzyć przesłonięcie zbyt podstawowych bibliotek i platformy Joomla. Taki problem Curl SSL z certyfikatami; )
pozdrowienia
źródło