W Joomla wiele problemów można rozwiązać bez pisania całego systemu od nowa. Trzeba jednak wybrać odpowiedni typ rozszerzenia. Komponent, moduł i plugin pełnią inne role, choć w jednym wdrożeniu mogą ze sobą współpracować. Zrozumienie tych różnic pomaga uniknąć przypadkowego instalowania dodatków.
Komponent obsługuje większą funkcję
Komponent zwykle dostarcza samodzielny obszar działania: widoki, dane, formularze i zaplecze administracyjne. Przykładem może być system zarządzania określonym procesem lub narzędzie raportowe. Jeśli potrzebujesz własnych rekordów, uprawnień, filtrów i rozbudowanej logiki, komponent jest często naturalnym wyborem.
Moduł odpowiada za fragment strony
Moduł najczęściej wyświetla blok w określonym miejscu szablonu lub w treści. Może pokazywać dane pochodzące z komponentu, ale nie musi zastępować jego funkcji. Typowe zastosowania to nawigacja, formularz, podgląd informacji albo wyszukiwarka umieszczona w wybranej pozycji układu.
Plugin reaguje na zdarzenia
Plugin rozszerza zachowanie systemu w określonych momentach: przygotowanie treści, uwierzytelnianie, obsługa edytora czy zmiana danych przed zapisaniem. Nie powinien być wybierany tylko dlatego, że „plugin brzmi prościej”. Zdarza się, że zadanie wymaga komponentu oraz pluginu działających razem.
- Jeśli potrzebujesz własnego panelu danych, sprawdź możliwość komponentu.
- Jeśli chodzi o wyświetlenie bloku, rozważ moduł.
- Jeśli zmieniasz zachowanie istniejącej funkcji, sprawdź zdarzenia pluginów.
- Unikaj bezpośrednich zmian w plikach rdzenia Joomla.
Kiedy zamawiać rozwiązanie JAPI?
Gdy gotowe rozszerzenia nie pasują do sposobu pracy firmy lub tworzą niepotrzebne zależności. Dobrze przygotowane wymagania powinny opisywać cel, role użytkowników, oczekiwane dane i wyjątki, a nie tylko nazwę rodzaju rozszerzenia.