PDA

Zobacz pełną wersję : SOBI2 - jak zrobic kilka formularzy rejestracyjnych



alvi
26-03-2009, 19:45
Witam

Chciałbym w SOBI2 zrobić kilka formularzy rejestracyjnych w zależności od tego jak rozbudowany opis chce mieć użytkownik. Coś na zasadzie jak na tej stronie http://www.odi.pl/action/3/.

Czytałem coś o SOBI Cloning Tool http://extensions.joomla.org/extensions/extension-specific/sobi2-extensions/6565/details ale za nic w świecie nie mogę pojąć jak to działa i czy to się sprawdzi w tym co mnie interesuje.

Mayster
18-06-2009, 00:38
Sobi2 Cloning Tool to narzędzie w postaci skryptu dla systemu Linux lub Mac tworzące klon komponentu Sobi2. Tworząc 3 osobne instalacje Sobi2 z różnymi polami formularza mogłoby stanowic rozwiązanie Twojego problemu, jednak w podanym przez Ciebie przykladzie posiadamy do wyboru 3 pakiety zawierające częsci wspólne (np. szczegółowe dane firmy wystepuja w każdym pakiecie). Gdybyśmy zmienili dane w 1 instalacjii to w 2 i 3 pozostalyby bez zmian.
Jedynym rozwiązaniem jest utworzenie pakietów w komponencie Sobi2. Nie obejdzie sie bez ingerencjii w pliki żródlowe komponentu.
Oto recepta (bardzo,bardzo skrócona) na pakiety w komponencie Sobi2:
Do tabeli #__sobi2_fields dodajemy pole `version` (int), domyslna wartość pola to 0 (pakiet podstawowy).
ustalamy identyfikatory pakietów:
0- podstawowy
1- brązowy
2- srebrny
3- zloty
Przypisujemy pola do pakietów wpisując do pola 'version' tabeli #__sobi2_fields identyfikator pakietu.
Jako parametr url określający wersje pakietu ustalamy np: "vers". Chcac wywołać formularz nowego wpisu dla pakietu 3 do linku formularza będziemy dodawac parametr: http//:link_formularza.php?vers=3
Dodajemy właściwośc 'version' do klasy sobi2.class.php
Modyfikujemy wszystkie zapytania SQL zwiazane z pobieranymi polami dla formularza edycjii, widoku szczegółowego, listy wpisów kategorii itd.. dodając warunek "AND (version={$vers} OR version<{$vers})" gdzie $vers jest numerem pakietu przesłanym w url
Modyfikujemy wszystko to co pozostalo do zmodyfikowania ...