RSForm! – Kompleksowe rozwiązanie do tworzenia formularzy w Joomla
RSForm! to jedno z najbardziej wszechstronnych rozszerzeń dla Joomla, które pozwala w prosty sposób tworzyć formularze dostosowane do różnych potrzeb. Narzędzie jest niezwykle elastyczne, co czyni je idealnym wyborem dla webmasterów, którzy chcą wzbogacić swoje strony o funkcjonalne i estetyczne formularze.
Co oferuje RSForm!?
RSForm! zapewnia bogaty zestaw funkcji, takich jak:
- Intuicyjny kreator formularzy, który pozwala tworzyć formularze metodą drag-and-drop.
- Różnorodne typy pól: od prostych pól tekstowych po zaawansowane opcje, takie jak załączniki czy walidacje.
- Logika warunkowa, umożliwiająca dynamiczne dostosowywanie formularza na podstawie danych użytkownika.
- Zaawansowane zabezpieczenia, np. ochrona przed spamem poprzez reCAPTCHA.
- Raportowanie i eksport danych do formatów takich jak CSV.
- Możliwość personalizacji za pomocą CSS i JavaScript.
Dzięki tym funkcjom RSForm! jest doskonałym narzędziem do tworzenia formularzy kontaktowych, rejestracyjnych, zamówień, ankiet, a nawet bardziej zaawansowanych rozwiązań, takich jak obsługa płatności.

Panel RSForm w Joomla 3
Customowe skrypty w RSForm!
Jedną z największych zalet RSForm! jest możliwość tworzenia niestandardowych rozwiązań za pomocą dedykowanych skryptów PHP i JavaScript. Wiele inspiracji można znaleźć w oficjalnej dokumentacji dostępnej pod adresem: RSForm! Custom Scripting.
W mojej pracy często spotykam się z potrzebą dostosowania funkcjonalności formularzy do specyficznych wymagań klientów. Oto kilka przykładów customowych skryptów, które wdrożyłem:
Zmiana adresu e-mail w zależności od wersji językowej formularza
Skrypt dodajemy w panelu formularza RSForm, w zakładce Skrypty, w oknie On form process (Skrypty uruchamiane w czasie przetwarzania formularza). Zmienia on adres e-mail odbiorcy zgłoszenia w zależności od wybranego języka:
$app = JFactory::getApplication(); if($app->getLanguage()->getTag() == 'it-IT') { $_POST['form']['email_address'] = 'italia@example.com'; } elseif ($app->getLanguage()->getTag() == 'cs-CZ') { $_POST['form']['email_address'] = 'czechia@example.com'; } else { $_POST['form']['email_address'] = 'polska@example.com'; }
Ograniczenie formularza do wybranej daty
Skrypt dodajemy w panelu formularza RSForm, w zakładce Skrypty, w oknie On form display (Skrypty uruchamiane podczas wyświetlania formularza). Wyłącza on formularz po określonej dacie:
$targetDate = new DateTime('2024-12-31 23:59:59'); $compareDate = new DateTime(); if ($compareDate > $targetDate) { $formLayout = 'Przepraszamy, nie przyjmujemy więcej zgłoszeń.'; }
Ograniczenie formularza do określonej liczby zgłoszeń
Również w On form display możemy łatwo dodać limit zgłoszeń dla formularza:
$sql = "SELECT COUNT(*) FROM #__rsform_submissions WHERE `formId`='".$formId."'"; $db = JFactory::getDbo(); $db->setQuery($sql); if ($db->loadResult() >= 100) { $formLayout = '<div style="color: red">Przepraszamy, nie przyjmujemy więcej zgłoszeń.</div>'; }
Ograniczenie liczby zgłoszeń dla konkretnej wartości
Jeśli formularz oferuje różne opcje, możemy w On form display ograniczyć liczbę zgłoszeń dla poszczególnych wartości:
$sql = "SELECT COUNT(*) FROM `#__rsform_submission_values` WHERE `FormId` = '".$formId."' AND `FieldValue` = 'stacjonarnie'"; $db = JFactory::getDbo(); $db->setQuery($sql); if ($db->loadResult() > 50) { $formLayout .= '<div style="color: red">Przepraszamy, nie przyjmujemy więcej zgłoszeń stacjonarnych.</div> <script>jQuery(function(){jQuery("[value=stacjonarnie]").remove();})</script>'; }
Usunięcie opcji, które przekroczyły limit wyborów
Za pomocą tego skryptu można usunąć z formularza opcje, które zostały wybrane więcej niż określoną liczbę razy. Skrypt dodajemy w On form display.
$db = JFactory::getDbo(); $values = ['wartość A', 'wartość B', 'wartość C']; foreach ($values as $value) { $sql = "SELECT COUNT(*) FROM `#__rsform_submission_values` WHERE `FormId` = '".$formId."' AND `FieldValue` = '".$value."'"; $db->setQuery($sql); if ($db->loadResult() > 25) { $formLayout .= "<script>jQuery(function(){jQuery('input[value=\"".$value."\"]').parents('.radio').remove();})</script>"; } }
Podsumowanie
RSForm! to potężne narzędzie, które nie tylko ułatwia tworzenie formularzy, ale również daje ogromne możliwości ich personalizacji. Dzięki zastosowaniu customowych skryptów możesz stworzyć unikalne rozwiązania dopasowane do swoich potrzeb lub wymagań klientów.
Social Media
Znajdź nas w serwisach społecznościowych: