Większość komponentów do budowy formularzy nie posiada, moim zdaniem, kluczowych dwóch funkcji, mianowicie: obliczania oraz pól zależnych. Co prawda są one wykorzystywane sporadycznie, jednak gdy tej funkcjonalności potrzeba dla Joomla – gdzie jej szukać?
Tu mogę polecić darmowy, prosty, ale skuteczny generator formularzy „QuickForm” (http://juice-lab.ru/en/dev/components/2-quickform) – rosyjskiego developera. Warto zapoznać się z demo na stronie, aby przekonać się o jego możliwościach. Przy okazji, o ile kalkulator na podstawie wartości pól łatwo sobie wyobrazić, to należy się kilka słów wyjaśnienia czym są pola zależne/powiązane (ang. related fields). Otóż są to pola formularza warunkowe pozwalają przygotować formularz, którego kolejne pozycje są w pewnym sensie „zależne” od wartości w polu powyżej. Dla przykładu jeśli użyjemy pola wyboru płci – a użytkownik wybierze wartość „kobieta” – zobaczy dodatkowe pole, które zapyta go(ją) o jego ulubiony kolor. //tyle teorii//
Jakie może być tego zastosowanie, wielorakie, z pewnością przyda się w przypadku projektów stron firmowych, gdzie właściciel firmy oczekuje od nas stworzenia kalkulatora wyceny usługi np. układania posadzki, ogrodzenie nieruchomości – gdzie jest kilka zmiennych branych do uwagę (powierzchnia, materiał oraz lokalizacja). Uwaga, komponent zawiera link do strony producenta, aby się go pozbywać należy wpłacić $10 na konto programisty, myślę że to nieduży wydatek zważywszy na to ciekawe rozwiązanie.
Paczka instalacyjna zawiera komponent, moduł oraz dodatek – który umożliwia osadzanie formularza w treści artykułu za pomocą prostej składni: {QuickForm id=хх}, gdzie xx – id formularza. Zestaw współgra z Joomla 2.5 oraz Joomla 3.1.
Podsumowanie
- Utworzenie prostego formularza lub nawet kalkulatora jest wykonalne, w przypadku opcji 2 wystarczy pamiętać, aby kliknąć „The formula kalkulator”.
- Niestety brak jest instrukcji jak zrobić pola zależne/powiązane, napisałem w tej kwestii do autora i otrzymałem taką odpowiedź „You have to create a satellite form whose fields Will be inserted, and link it to the item of the main form.”
- Komponent formularza nie ma widoku – zatem nie umieścisz go w menu, chyba że dodasz formularz do artykułu i ten podlinkujesz. Ma to swoje wady, jak i zalety.
- Stopkę copyright można ukryć nawet w wersji darmowej (patrz Opcje), w płatnej ją się usuwa również z kodu.
- Aby zrobić formularz wielojęzyczny, musisz go ręcznie odtworzyć i przetłumaczyć, niestety ale nie ma opcji utwórz klon/kopię, co by przyspieszyło ów proces.
- Brak systemu CAPTCHA – za to jest inny „wbudowany” system. Brak dokumentacji, aby sprawdzić jaki. A na stronie nic się nie wyświetla.
Alternatywy
Na JED jest ich kilka, niestety większość porządnych kreatorów formularzy to komponenty płatne. Przy okazji kalkulator, jak i pola zależne są również w Breezing Forms – oferując możliwość wprowadzania różnych wartości opcji w rozwijanej liście, uzależnionych od wcześniej wybranego wariantu – co ważniejsze ten razem producent zawarł demo formularzy widoczne po instalacji komponentu.
Ciekawe, ale niestety w aktualnej wersji 3.2.3 nie sposób wprowadzić zależnych/powiązanych pól. „You have to create a satellite form whose fields Will be inserted, and link it to the item of the main form”. Kombinowałem z godzinę na logikę i według szczątkowych instrukcji/podpowiedzi i niestety nie da się w tej wersji uzyskać takiego efektu jak to widać na demo.
czyżby alternatywa?
Tworzenie zależnych pól działa. Jest bardzo proste. Trzeba utworzyć główny formularz a następnie formularz który ma się pokazywać w chwili wybrania odpowiedniej opcji. Wszystko sprowadza się do podania ID formularza przy pozycji której ma się pojawić.
Formularz działa poprawnie pod warunkiem że jest tworzony pod właściwą domeną np. http://www.twojadomena.pl. W momencie gdy jest tworzony pod domeną roboczą np. http://www.twojadomena.pl/NowyFolder/NazwaStrony formularz nie będzie działać poprawnie.