PDA

Zobacz pełną wersję : moduł - formularz



mariotti
25-01-2012, 23:41
Hej.

Mam pytanie odnośnie nakładu pracy. Nie znam api joomli, ale dobrze programuję w PHP i innych językach.

Za każdym razem gdy przygotowywałem aplikację w PHP, to miała ona szereg formularzy do wprowadzania
danych. Np. gdy ktoś ma sklep, to dodaje produkty, kontrahentów, faktury, itd. Dodawanie każdej rzeczy
wymaga specjalistycznego formularza, aby użytkownik np. podczas dodawania szczoteczki do zębów nie
miał możliwości wpisania jej adresu zamieszkania :)

Przewertowałem całą jooomlę i nie wiem jak zrobić takie formularze z poziomu zaplecza albo chociaż z
poziomu zewnętrznych modułów. Rozumiem że trzeba zakasać rękawy i napisać samemu specjalistyczny
moduł. Oczywiście wprowadzane dane powinny współpracować ze standardową wyszukiwarką, ze
standardowym drzewem kategorii, z komponentem który wyświetla ostatnio dodane elementy i w ogóle
żeby tak samo się integrował z joomlą jak jej natywne artykuły, bo jeśli nie będzie współpracował z joomlą to
po co w ogóle używać joomli?

No i właśnie chciałem się dowiedzieć jaki jest nakład pracy na przygotowanie takich modułów? To jest
raczej kilkanaście godzin pisania kodu, czy raczej kilkanaście dni? A może są jakieś gotowe
moduły do tworzenia zaawansowanych formularzy?

Z góry dziękuję za pomoc i pozdrawiam!

nikszal
25-01-2012, 23:45
Może zamiast zakasywać rękawy do pisania nowych skryptów zobacz, co jest w centralnej składnicy rozszerzeń http://extensions.joomla.org/

mariotti
25-01-2012, 23:57
Pełno bliżej nieokreślonego badziewia, często płatnego. Nie mam pojęcia czy jest tam coś
co potrzebuję, ani jak to szybko sprawdzić.
Pozdrawiam

nikszal
26-01-2012, 00:07
Pełno bliżej nieokreślonego badziewia,
Chcesz kogoś obrazić?


Nie mam pojęcia czy jest tam coś
co potrzebuję
Ja też nie wiem co potrzebujesz, bo tego jednoznacznie nie okreslileś.

Jesli uważasz, że szybciej będze jeśli zrewolucjonizujesz Joomla i sam napiszesz skrypty zamiast poszukania odpowiednich na JED to życzę pomyślności i 100% pozytywnych efektów.

Pozdrawiam.

mariotti
26-01-2012, 00:40
Chcesz kogoś obrazić?
Po prostu nie wiem co tam jest, a że jest tego tak dużo, to
nie mam możliwości przeanalizowania, nie wspominając
już o przetestowaniu czy działa w miarę stabilnie i można
bez obaw dostarczyć klientowi.




Ja też nie wiem co potrzebujesz, bo tego jednoznacznie nie okreslileś.

Potrzebuję normalnego przygotowania formularzy, kilku tabel w
relacyjnej bazie danych i kilka raportów - tak jak chyba w każdej
aplikacji. A chcę żeby to współpracowało z joomlą, żeby nie
pisać wyszukiwarki, kategorii, statystyk, uprawnień, itd.



Jesli uważasz, że szybciej będze jeśli zrewolucjonizujesz Joomla i sam napiszesz skrypty zamiast poszukania odpowiednich na JED to życzę pomyślności i 100% pozytywnych efektów.
Pozdrawiam.
Na razie nic nie uważam, próbuję się czegokolwiek dowiedzieć.

Pozdrawiam

nikszal
26-01-2012, 00:49
Potrzebuję normalnego przygotowania formularzy, kilku tabel w
relacyjnej bazie danych i kilka raportów - tak jak chyba w każdej
aplikacji. A chcę żeby to współpracowało z joomlą, żeby nie
pisać wyszukiwarki, kategorii, statystyk, uprawnień, itd.

Miałeś kiedykolwiek do czynienia z jakimkolwiek CMS-em? O Joomla juz nie pytam, bo go nie znasz.

Kreataory formularzy (kompnenty) są gotowe na JED.
Raporty? Wyjasnij to szerzej.


przygotowania formularzy, kilku tabel w
relacyjnej bazie danych i kilka raportów - tak jak chyba w każdej
aplikacji.
Chyba robi dużą różnicę. Podstawę masz zainstalowaną (Joomla). Resztę, w zależności od potrzeb i wymagań znajdujesz na JED i instalujesz w Joomla. Specjalistyczne rozszerzenia, których nie znajdziesz na JED będziesz musiał napisać sam.

Trudno zgadywać jaki charakter ma mieć strona, co ma w niej być, a to z kolei znacznie uprościłoby poszukiwania. Jednak proponuję, zanim zaczniesz stawiać Joomla na głowie zapoznaj się z biblioteką elektroniczną http://wiki.joomla.pl

mariotti
26-01-2012, 01:08
Miałeś kiedykolwiek do czynienia z jakimkolwiek CMS-em? O Joomla juz nie pytam, bo go nie znasz.
Czy znam, czy nie znam... pojęcie względne. Instrukcję jak się robi szablony pod Joomlę 1.7 przeczytałem i w dwa wieczory zrobiłem
swój szablon. Artykuły dodałem, przypisałem do kategorii, wyszukiwarkę zainstalowałem... wszystko działa. Na tyle znam. Jak się
pisze moduły/komponenty to na razie nie mam bladego pojęcia. Co jest gotowe, a co trzeba pisać też nie wiem.



Kreataory formularzy (kompnenty) są gotowe na JED.
Raporty? Wyjasnij to szerzej.

Szerzej... Chodzi o budowanie prostych aplikacji bazodanowych, które mają z reguły 5-10 tabel
powiązanych relacjami. Np. klient Ci mówi że ma kolekcję obrazów, obrazy mają rozmiary, rodzaje
opraw, twórców, to zwyczajnie zakładasz tabelę obrazy, twórcy, ramy, wiążesz relacjami i baza
gotowa. Każdy klient będzie miał inne życzenia, więc nie powiem o jakie konkretnie raporty
chodzi, o jakie dane, itd. Taką aplikację można zrobić w PHP/MySql pisząc wszystko samemu
od zera i tak z reguły robię. Chciałem się wspomóc joomlą, tak aby właśnie to co gotowe, typu:
wyszukiwarki, galerie, statystyki, uprawnienia użytkowników... mieć od razu, bez wklepywania
kodu.



Chyba robi dużą różnicę. Podstawę masz zainstalowaną (Joomla). Resztę, w zależności od potrzeb i wymagań znajdujesz na JED i instalujesz w Joomla. Specjalistyczne rozszerzenia, których nie znajdziesz na JED będziesz musiał napisać sam.

Wpisałem "database applications" i wyników zero.




Trudno zgadywać jaki charakter ma mieć strona, co ma w niej być, a to z kolei znacznie uprościłoby poszukiwania. Jednak proponuję, zanim zaczniesz stawiać Joomla na głowie zapoznaj się z biblioteką elektroniczną http://wiki.joomla.pl
Bo ja nie pytam o jedną konkretną aplikację, tylko ogólnie o tworzenie aplikacji z wykorzystaniem joomli.
Nie rozumiem co jest niezrozumiałe. Przecież to standard że w aplikacji wprowadza się dane,
dane przechowuje się w relacyjnej bazie, a potem je wyświetla w postaci raportów, a przy tym
wszystkim bierze się pod uwagę uprawnienia użytkowników.

Pozdrawiam

nikszal
26-01-2012, 01:14
Szerzej... Chodzi o budowanie prostych aplikacji bazodanowych, które mają z reguły 5-10 tabel
powiązanych relacjami. Np. klient Ci mówi że ma kolekcję obrazów, obrazy mają rozmiary, rodzaje
opraw, twórców, to zwyczajnie zakładasz tabelę...
Czy to ma być aplikacja na zasadzie katalogu?
Jeśli tak, to bardzo proszę -> http://sobipro.sigsiu.net/download/sobipro/52-SobiPro-Full
Póki co sam komponent jest bezplatny. Dodatki do niego i dokumentacja wymagają jednak wykupienia jednego z trzech pakietów. Informacje o nich znajdziesz na wskazanej stronie.

mariotti
26-01-2012, 01:27
Czy to ma być aplikacja na zasadzie katalogu?
Raczej coś jak środowisko typu Ms Access do budowania aplikacji, ale oczywiście
nie musi być takie rozbudowane.




Jeśli tak, to bardzo proszę -> http://sobipro.sigsiu.net/download/sobipro/52-SobiPro-Full
Póki co sam komponent jest bezplatny. Dodatki do niego i dokumentacja wymagają jednak wykupienia jednego z trzech pakietów. Informacje o nich znajdziesz na wskazanej stronie.
Dzięki, to swoją drogą może się przydać.

Pozdrawiam

nikszal
26-01-2012, 01:35
Raczej coś jak środowisko typu Ms Access do budowania aplikacji, ale oczywiście
nie musi być takie rozbudowane.
To samo uzyskasz za pomocą instalacji odpowiednich rozszerzeń - głównie komponentów. Przy ich instalacji tworzone są automatycznie tabele w bazie. Kształt formularza, wygląd, jego pola i treść zależą głównie od Ciebie.

Musisz jedynie wiedzieć co chcesz mieć na stronie, jakie dane mają prezentowane aby dobrać odpowiednie rozszerzenie. Resztę przy odrobinie wiedzy z zakresu css, mniejszej z php i sprytu sam sobie ukształtujesz.

Nie wyważaj otwartch drzwi.

mariotti
26-01-2012, 02:04
To samo uzyskasz za pomocą instalacji odpowiednich rozszerzeń - głównie komponentów. Przy ich instalacji tworzone są automatycznie tabele w bazie. Kształt formularza, wygląd, jego pola i treść zależą głównie od Ciebie.
Musisz jedynie wiedzieć co chcesz mieć na stronie, jakie dane mają prezentowane aby dobrać odpowiednie rozszerzenie. Resztę przy odrobinie wiedzy z zakresu css, mniejszej z php i sprytu sam sobie ukształtujesz.
Nie wyważaj otwartch drzwi.

Nie wiem ani przy pomocy jakich komponentów ani w jaki sposób ani co rozumiesz przez wyważanie otwartych drzwi :(

Więc weźmy zmyślony, ale za to konkretny przykład.

Powiedzmy baza książek.

Mamy table:
1) książki
2) wydawnictwa
3) kategorie
4) użytkownicy

Mamy 3 rodzaje użytkowników
1) z prawem do wpisywania
2) z prawem do poproszenia o pożyczenie

Przykładowe scenariusze użycia:

1a) Użytkownik dodaje wydawnictw, wprowadza: opis, nazwę, może inne dane
1b) System sprawdza że takie wydawnictwo już jest dodane do bazy i wyświetla mu błąd.
1c) Użytkownik wprowadza inne wydawnictwo
1d) System wyświetla użytkownikowi nazwa wydawnictwa nie może zawierać znaku zapytania i
prawdopodobnie się pomylił.
1e) Użytkownik usuwa znak zapytania i dodaje z powodzeniem

2a) Użytkownik dodaje kategorię książek, wpisuje jej nazwę w pole i w liście zaznacza kategorię
nadrzędną lub że to jest kategoria glówna.

3a) Użytkownik dodaje książkę, wpisuje jej tytuł, wybiera wydawnictwo z listy wcześniej dodanych, ilość stron, załącza
zdjęcie okładki i klika dodaj.
3b) System widzi że użytkownik nie wypełnił pola z opisem i krzyczy żeby opis dodał.
3c) Użytkownik dodaje opis i próbuje dodać
3d) System widzi że do książki nie została przypisana żadna kategoria i system znowu zwraca błąd
3e) Użytkownik wybiera trzy kategorie: nauki ścisłe, matematyka, analiza matematyczna i znowu próbuje dodać
3f) System wyświetla że udało się dodać.

4a) Przygodny użytkownik wchodzi na front strony i widzi że ta strona jest z książkami.
4b) Przegląda drzewo kategorii i dociera do kryminałów
4c) Widzi 20 pierwszych kryminałów, ma możliwość posortowania ich po nazwie autora,
po tytule, po roku wydania albo po ilości stron.
4d) Po kliknięciu na krótkim opisie książki widzi więcej szczegołów
4e) Gdy książek jest za dużo, może ograniczyć ilość tylko do tych które w
tytule mają słowo "zabójca".

5a) Wchodzi na stronę znajomy właściciela.
5b) Loguje się na swoje konto
5c) Widzi rozszerzone informacje o książce, np. to czy może ją od niego wypożyczyć, albo
czy została wypożyczona i komu.... itd


Jak szybko na joomli robić tego typu aplikacje webowe?
Pozdrawiam

nikszal
26-01-2012, 02:24
Po co Ci do tego Joomla? Zainstaluj system obsługi biblioteki, albo wyszydełkuj go sam w formie komponentu. Jeszcze nie widziałem systemu bibliotecznego opartego o Joomla, ani innego, liczącego się CMS-a. Ty chcesz za darmo (bo grymasiłeś na komercyjne rozszerzenia) postawić specjalistyczny system warty kwotę z kilkoma zerami.
Większośc Twoich wymagań spełnia SobiPro po za jednym - dostarczeniem ksiązki do czytelnika, bo w przypadku wersji elektronicznych wszystkie wprowadzone pozycje do bazy zawsze będą dostepne.

mariotti
26-01-2012, 03:03
Po co Ci do tego Joomla?
Mnie się nie pytaj, to ja się pytam pytam czy może do tego typu aplikacji przydać się joomla?


Zainstaluj system obsługi biblioteki.
Instalowanie systemu obsługi biblioteki odpada, bo podałem zmyślony przykład. Za drugim razem
to nie będą książki, ale np. karma dla kotów.


albo wyszydełkuj go sam w formie komponentu.
Chętnie, ale jaki jest nakład pracy na taki komponent? Czy jest dużo większy w porównaniu
do pisania od zera? A może jest mniejszy? I to chyba chodziło o moduł a nie komponent, bo
z tego co zdążyłem się zorientować, to komponenty są jednie prostymi rozszerzeniami. Dobrze
się zorientowałem?



Jeszcze nie widziałem systemu bibliotecznego opartego o Joomla, ani innego, liczącego się CMS-a. Ty chcesz za darmo (bo grymasiłeś na komercyjne rozszerzenia) postawić specjalistyczny system warty kwotę z kilkoma zerami.
Maksymalnie 3 zera i tydzień roboty na ten przykład co podałem, ale to naprawdę
maksymalnie.


Większośc Twoich wymagań spełnia SobiPro po za jednym - dostarczeniem ksiązki do czytelnika, bo w przypadku wersji elektronicznych wszystkie wprowadzone pozycje do bazy zawsze będą dostepne.
Hmmm no ale ja chcę budować tego typu aplikacje, a nie tą jedną konkretną :)

Pozdrawiam

Gall Anonim
26-01-2012, 12:17
@mariotii
Tak można do tego użyć Joomla
Można to wykonać używając tak jak już pisano np. Sobi ale też można użyć Joomla 2.5 i np. któregoś ze skryptów biblioteki (dostępne na JED /jakbyś nie wiedział co to JED użyj Google/) albo komponentu Smart Former Gold (co w twoim przypadku będzie jak mniemam lepszym rozwiązaniem).
Pzdr