Strona główna > Aktywność > Forum > Wygląd i szablony > Formularz zapisujący dane do bazy


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