Formularz zapisujący dane do bazy
Musisz być zalogowany aby uzyskać dostęp do forum. Możesz się zalogować tutaj
|
Autor
|
Wiadomość
|
|
Edward Łuska
Postów: 1 od 02/08/2009
|
Czwartek 27 Sierpień 2009 9:44:36 am
Formularz zapisujący dane do bazy
Witam wszystkich serdecznie. Jestem totalnym amatorem jeśli chodzi o eZ publish, a przyszło mi poradzić sobie z problemem, do którego nie wiem jak podejść.
Mam na stronie mapkę oprogramowaną w JS, która pozwala na zaznaczanie miejsc i ich opisywanie. Do zbierania danych muszę wykorzystać w miarę prosty formularz pojawiający się po kliknięciu w odpowiednie miejsce mapki - współrzędne (ukryte), opis, zdjęcie itp. Problem w tym, że nie wiem jak to ugryźć. Moglibyście mnie w prostych "słowach kluczowych" naprowadzić na właściwą drogę? Nie potrzebuję super dokładnej instrukcji krok po kroku. Wystarczą wskazówki typu utwórz klasę, stwórz noda z obiektem tej klasy, ez wygeneruje formularz, żeby zapisać dane wyedytuj to i to, szczegółów poszukaj w dokuemtacji pod tym i tym hasłem.
Ważne jest abym do danych zebranych przez formularz mógł się potem dostać w celu wyświetlenia ich w formie listy na stronie, oraz w celu przekazania ich do skryptu JS generującego mapkę. Miło byłoby też, gdyby po zapisaniu formularza przeładowywała się konkretna podstrona serwisu.
Dźwięczny będę za wszelkie podpowiedzi. :)
EDi .:. nabi.pl
|
|
Łukasz Klejnberg
Postów: 137 od 12/01/2007
|
Sobota 29 Sierpień 2009 11:28:10 am
Re: Formularz zapisujący dane do bazy
Cześć,
Przychodzą mi do głowy dwa proste sposoby.
PIERWSZY
1. Tworzysz nową klasę z jakimiś atrybutami, które mają zaznaczoną opcję zbierania informacji.
2. Dodajesz w override.ini.append.php sekcję dla line i edit - bo chyba inne widoki nie będą Ci potrzebne. Dzięki temu będziesz mógł wyświetlać dane w postaci listy z danego folderu. Natomiast do javascriptu możesz posłużyć się funkcją fetch odczytującą dane z folderu (nodeid).
3. Tworzysz folder do przechowywania swoich danych (po utworzeniu zapisz sobie nodeid - będzie potrzebny)
4. W momencie gdy zostanie wywołany formularz powinien załadować się szablon edycji (zobacz np. comment.tpl w edit). Wywołanie szablonu edycji powinna poprzedzić np. akcja z formularza:
<form method="post" action={"content/action"|ezurl()}>
<input type="hidden" name="ClassIdentifier" value="IDENTYFIKATOR TWOJEJ KLASY" />
<input type="NodeID" value="NODEID FOLDERU GDZIE MAJA BYC ZAPISANE DANE" />
<input type="submit" value="dalej" />
</form>
Zastanów się jak wykorzystać ten kod powyżej.
DRUGI
1. Tworzysz nową tabelę w bazie danych
2. Tworzysz nowe rozszerzenie, dzięki któremu będziesz mógł zapisać dane do nowej tabeli (w contribs jest wiele przykładów)
3. Możesz dodać po udanym zapisie kod w Javascript (w szablonie) lub php (skrypcie obsługującym zapisywanie do bazy danych), który spowoduje przeładowanie konkretnej strony.
Jak Ci się uda koniecznie napisz :)
ps. istnieją jeszcze inne sposoby, na forum ez.no czasami pojawiają się podobne tematy
Pozdrawiam,
Łukasz
|
Musisz być zalogowany aby uzyskać dostęp do forum. Możesz się zalogować tutaj