Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [symfony] Wielostronnicowe formularze
Forum PHP.pl > Forum > Gotowe rozwiązania > Algorytmy, klasy, funkcje
-=Peter=-
Ostatnio napisałem plugin do symfony, który rozwiązuje problem wielostronnicowych formularzy. Główną klasą pluginu jest myPageableForm, która to opakowywuje inne formularze dla poszczególnych stron/kroków. Są zaimplementowane dwie "strategie trwałości", czyli sposób przekazywania wartości poprzednich formularzów między żądaniami http: jedna oparta na ukrytych inputach, druga zaś na sesji (a dokładnie flash). W pliku, do którego link jest poniżej, jest również przykład zastosowania z obydwoma strategiami.

Tworzenie wielostronnicowego formularza:
  1. $form = new myPageableForm(array(new Form1(), new Form2(), new Form3()));
  2. //lub
  3. $form = new myPageableForm();
  4. $form->addForm(new Form1());
  5. //itp
  6.  
  7. //lub
  8. class PageableForm extends myPageableForm{
  9. public function setup(){
  10. $this->addForms(array(/* tablica formularzy*/));
  11. $this->setPersistanceStrategy(/* strategia trwałości */);
  12. }
  13. }


Zresztą przykładowy kontroler pokazuje zastosowanie tego pluginu. Właściwy kod pluginu znajduje się w folderze "lib/my/form", reszta to przykłady zastosowania.

Nie wiem, czy bardziej ten temat nie byłby odpowiedni dla forum "php/frameworki", jeśli tak to proszę moderatorów o przeniesienie smile.gif

Jeśli są jakieś uwagi, konstruktywna krytyka itp, to proszę pisać. Proszę nie usuwać komentarzy, zwłaszcza tych świadczących o autorstwie. Plugin do dowolnego użytku.

Link:
Klik
bazyliszek83
Witam.

Niestety link do pobrania pluginu który podałeś nie działa. Mógłbyś ten kod udostępnić na forum, lub wrzucić źródła w jakieś inne miejsce?


Z ciekawych artykułów w tym temacie znalazłem tylko : http://blog.adryjanek.eu/2009/03/24/symfon...ge-form-wizard/ .

Ciekaw jestem jak to rozwiązałeś u siebie:)
-=Peter=-
Plugin - http://ohey.pl/uploads/libs/myPageableFormPlugin.zip

Przykładowy kontroler wraz z szablonem - http://ohey.pl/uploads/libs/frontend.zip

=========
Up:
Udostępniłem nową wersję pluginu.

Wprowadzenie oraz przykłady można znaleźć na mojej stronce.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.