PDA

Zobacz pełną wersję : ChronoForms 5



GOGOKOM
18-01-2019, 13:08
Witam.
Formularz wykonany w ChronoForms 5, rezerwacja udziału w konferencji.
Potrzebuję w formularzu wprowadzić ograniczenie liczy miejsc na konferencję.
Formularz działa, robi co i jak trzeba ale przerosło mnie wprowadzenie ograniczenia liczby miejsc na sali konferencyjnej.
Dziękuję za wsparcie.

Jola
19-01-2019, 00:06
Trzeba zmodyfikować moduł (napisać) formularza.
Skrypt - modyfikacja najpierw sprawdzi ile jest już wpisów - rezerwacji - jeśli miejsca zostały - pokazuje formularz, jeśli nie - tylko komunikat "Brak miejsc"
:)

GOGOKOM
19-01-2019, 06:02
Tyle to wiem, jak się domyślasz.

siristru
19-01-2019, 13:13
LOL, ale jakiej odpowiedzi oczekiwałeś?
Rozwiązanie tego problemu wymaga napisania całej modyfikacji.
Nadpisanie szablonu to prosta sprawa, napisanie skryptu jest o wiele trudniejsze.
Ktoś musiałby takie rozwiązanie już mieć, w innym przypadku ktoś musiałby napisać je dla Ciebie.

Czy pytając oczekiwałeś, że: a) ktoś rozwiązanie takie ma i już stosował b) napisze je dla Ciebie?

Post Joli dobrze wyjaśnia co należy zrobić. Jeśli potrzebujesz więcej to mogę Cię dalej naprowadzić opisując z grubsza skrypt.
A nie powinien on być skomplikowany (tak jak go sobie wyobrażam) - niech mnie Jola (lub ktoś inny poprawi jeśli się mylę).

Najpierw bym sprawdził jak zapisywane są dane z formularza w bazie danych. Następnie na tej podstawie napisałbym zapytanie do bazy danych które miało by policzyć ile jest wpisów powiązanych z danym formularzem.

https://docs.joomla.org/Selecting_data_using_JDatabase
https://www.tutorialrepublic.com/faq/how-to-count-all-elements-in-an-array-in-php.php

Reszta jest już prosta - warunek if dla określonej wartości;


jeśli($zmienna jest równa lub większa od n) to {
wyświetl coś
} inaczej {
wyświetl coś innego
}

To nie powinno być bardzo trudne a może być świetną okazją by się nauczyć. Bardzo polecam bo to fajna zabawa (przynajmniej dla mnie)
W taki właśnie sposób sam się nauczyłem (i wciąż się uczę).

Możemy tutaj dyskutować nad rozwiązaniem ale musisz podjąć działania - pomoc, to jest to co tutaj robimy :)
Spróbuj, wklejaj kod, działaj.

GOGOKOM
19-01-2019, 13:41
Oczekiwałem a) przy założeniu że oboje znamy to https://www.chronoengine.com/forums/posts/t88117/set-limit-for-registration i nadal jestem w tym samym miejscu.
Podstawiam swoją bazę i d...

LOL nie robiłeś nic na CF :)
Pytanie było celowo tak zadane bo odpowiedzi może udzielić ktoś kto robił dla Cf custom modułu.

Dzięki za chęci i lektury, w wolnej chwili zgłębiać będę PHP i MySQL. I nie miałem na celu ciebie, kogokolwiek urazić jeśli tak to zabrzmiało.

W dziale zleceń poszukam rozwiązania, jak ktoś umie i chciałby to zapraszam.

siristru
19-01-2019, 14:05
LOL przecież dokładnie opisałem to: https://www.chronoengine.com/forums/posts/t88117/p305416#p305416

tymi słowami:


Następnie na tej podstawie napisałbym zapytanie do bazy danych które miało by policzyć ile jest wpisów powiązanych z danym formularzem.

a następnie to: https://www.chronoengine.com/forums/posts/t88117/p305443#p305443

tymi słowami:


Reszta jest już prosta - warunek if dla określonej wartości;

Kod:

jeśli($zmienna jest równa lub większa od n) to {
wyświetl coś
} inaczej {
wyświetl coś innego
}

Czyli masz gotowe rozwiązanie i wystarczy je zastosować. W czym problem?


LOL nie robiłeś nic na CF
Pytanie było celowo tak zadane bo odpowiedzi może udzielić ktoś kto robił dla Cf custom modułu.

Pfff nie muszę w przeszłości robić czegokolwiek w danym komponencie jeśli znam zasady działanie frameworka - i jak widać udzieliłem (podobnie jak Jola) odpowiedzi identycznej jak ktoś kto robił (i podał kod na forum CF).