Joomla tworzenie formularza np. rejestracji użytkownika
Chronoforms to komponent służący do tworzenia i obsługi rozbudowanych formularzy. Posiada szereg dodatków programistycznych umożliwiających znaczną integrację z Joomlą. Dane z formularzy zapisywane mogą być w postaci e-mail, plików i w bazie danych. Po prawidłowym wypełnieniu formularza, dane uczestnika zostają zapisane w bazie danych MySQL i powstaje konto użytkownika Joomla!, które trzeba aktywować w powiadomieniu e-mail. O nowych rejestracjach zostaje poinformowany właściciel witryny, który może w każdej chwili zweryfikować poprawność formularza z pomocą oprogramowania dodatkowego(w kolejnym artykule).
Instalacja Chronoforms i jego obsługa
Zasady licencjonowania oprogramowania: freeware (Open Source)
Strona producenta: http://www.chronoengine.com/
Specyfikacja Chronoforms V3
Zaczerpnięte ze strony producenta Chronoforms. Wersja V4(aktualnie rozwijana) może się różnić od niżej opisanej.
- Możliwość tworzenia formularzy bez znajomości HTML w trybie WYSYWIG lub poprzez wklejanie danych wynikowych z edytorów WWW (np. Dreamwaver).
- Wykorzystanie technologii AJAX do obsługi formularzy, na przykład informacje o nieprawidłowym adres e-mail lub braku wypełnionego pola w formularzu pokazują się natychmiast.
- Użycie tabel div i styli CSS.
- Specjalne pola formularza jak CAPTCHA (do zabezpieczenia formularza od SPAM-u), pola haseł (haszowane) czy pola z lokalizacją plików.
- Przedstawianie elementów pól w postaci graficznej i atrybutów, a dodaje się je na stronie w technologii przeciągnij i upuść (drag & drop).
- Chronoforms posiada własny interfejs dostępny w panelu administracyjnym,
- Integracja z wbudowanymi modułami Joomla.
- Wykorzystanie bbcode do tworzenia treści strony.
- Obsługa adresów e-mail.
- Składowanie danych w plikach, bazie danych, zawartości e-mail.
- Możliwość eksportu danych poprzez xls, csv.
- Integracja systemu płatności.
- Blokada anty flood (przed masowym wypełnianiem formularzy).
Tworzenie nowego formularza
- Wejdź w: Components(komponenty), a następnie: ChronoForms i z menu wybierz: Easy Form Wizard
- Pojawi się kreator formularzy, w którym to dodajesz poszczególne pola formularza. Dodawanie polega na przeciąganiu i upuszczaniu poszczególnych pól formularza.
- Edycja ustawień i treści dostępna jest z poziomu ustawień pola po kliknięciu na ikonkę symbolizującą narzędzia. Identyfikator nie może zawierać znaków specjalnych i symbolu „–„ czy spacji.
W przypadku pól wyboru należy wybrać wartość domyślną inaczej formularz nie zadziała!
- Zmiany zatwierdzasz klikając Apply.
- Aby zmiany w formularzy były widoczne trzeba go zapisać. W tym celu wybierz: Form Settings i w polu: Form name, nadaj nazwę formularza bez spacji i znaków specjalnych.
- Kliknij Save, aby zachować zmiany
- Niestety nie istnieje możliwość podglądu Label Text bez zapisania, zamknięcia formularza i ponownego otworzenia. (Patrz edycja formularza)
Edycja formularza
Integracja rejestracji w serwisie z formularzem
- Najprostszy formularz powinien zawierać minimum 5 pól: name, username, email field name, password fieldname, verify password fieldname oraz przycisk Submit.
Na potrzeby konferencji zrezygnowano z nazwy użytkownika na rzecz jego adresu email. Logowanie do serwisu będzie polegało na podaniu adresu email wpisanego w polu rejestracji - Każde pole powinno mieć ustalone atrybuty(Field name, Field ID, Label Text), które trzeba będzie zanotować. Trzeba pamiętać, aby każdą czynność zaakceptować(Apply), bo inaczej zmiany nie zostaną zapisane.
- Wybierz teraz zakładkę: Events, aby ustalić zdarzenia jakie mają pojawić się podczas rejestracji na forum. Z drag: Actions wybierz: Registration i przenieś do: On Submit.
- Teraz wybierz ustawienia rejestracji i w zakładce: Fieldsdopasuj ID nazw pól do zawartości.
- Wybierz zakładkę: Settings i z pozycji: Usertype wybierz grupę użytkownika: Registered oraz sposób aktywacji w polach: User activation oraz Send activation.
- Z pozycji drag: Actions wybierz: Event Loop i przenieś ją do pola: On Submit -> OnFail
- Teraz wejdź w ustawienia Event Loop i sprawdź czy masz ustawione Target Event na: On Load
- Zapisz formularz klikając: Save. Od tej pory formularz działa jako strona rejestracyjna w Joomli.
Link aktywacyjny w mailu z formularzem
- Z Actions wybierz Email verification Sender i dodaj w zakładcę Events w On Submit
- Wejdź w ustawienia i z Table wybierz bazę danych użytkowników, gdzie znajdują się klucze aktywacyjne.
Aktualna wersja Chronoforms(V4 do Joomla 1.7 i 2.0) nie ma takiej możliwości. Link aktywacyjny zostaje wysłany w osobnym e-mailu.
Zapisywanie danych z formularza w bazie danych
- Przygotuj wcześniej formularz i wejdź w: Components(komponenty), a następnie: ChronoForms
- Zaznacz formularz do edycji i wybierz z menu: Create table.Każda późniejsza edycja formularza i jej obiektów (dodanie nowych pól) wymaga stworzenia od nowa bazy danych!
- Pojawi się kreator baz danych, w którym to zaznaczasz pola danych(Enabled), typy(Type), długość(Length), sortowanie po(Primary key), wartość domyślną(Default) i Extra(jak na przykład autonumerowanie) jakie mają być zamieszczone w bazie danych.
Odznaczasz pole Submit, które nie pełni funkcję przycisku zatwierdzającego. Można odznaczyć informacje takie jak: cf_uid, cf_created – jeśli nie są potrzebne informacje o dacie kreacji formularza itp.
Typ danych trzeba dokładnie sprawdzić: daty -> DATE, liczby po przecinku -> DECIMAL, liczby -> INT.
W przypadku dat trzeba usunąć length! W przypadku wartości decimal trzeb ustawić Length na x,x - Po zakończeniu zmian kliknij Save, aby utworzyć/edytować bazę danych
- Jeśli formularz został utworzony z pomocą Easy Mode Wizzard to pomiń ten krok:
Edytuj formularz i w zakładce: Actions przeciągnij DB Save do pozycji On Submit w zakładce Events - Teraz edytuj ustawienia DB Save, wybierz Enabled na Yes oraz Table na taką, która została utworzona w punkcie 3. Zmiany zapisz klikając Apply.
Dodawanie wiadomości email do formularza
- Jeśli korzystasz z Easy Forms Wizzard to wystarczy w zakładce Events wybrać ustawienia Email – #1.
- W zakładce General wybierz Enabled na Yes
- W zakładce Template wpisz treść wiadomości dla uczestników. Dane z formularza można wysyłać na w treści wiadomości, jeśli wstawi się pola w znaczniki {} . Wybierz Add/Remove editor, jeśli chcesz korzystać z edytora wizualnego.
- W zakładce Static wybierz do kogo ma być adresowana wiadomość o ile jest to stały adres email. W przeciwnym wypadku pomiń ten punkt.
- W zakładce Dynamicwybierz do kogo ma być adresowana zmienna wiadomość (z adresem email lub innymi danymi pobranymi z treści formularza).
Spis treści: Joomla tworzenie formularza np. rejestracji użytkownika