Autor Wątek: Formularz z dodatkowymi polami (json_array)  (Przeczytany 10226 razy)

gawi

  • Newbie
  • *
  • Wiadomości: 11
    • Zobacz profil
Formularz z dodatkowymi polami (json_array)
« dnia: Września 05, 2016, 10:17:49 »
Witam, chciałbym zrobić formularz w którym mam kilka podstawowych pól plus dodatkowe pola które może zdefiniować użytkownik.
Ma on przycisk dodaj i wtedy pojawiają mu się dwa inputy, jeden to nazwa a drugi wartość, może dodawać ich ile chce.
Miałem pomysł żeby zapisywać to w bazie jako jedno pole typu json_array, bo nie wiem ile takich pól doda użytkownik.
Trafiłem na dość ciekawy wątek na stacku ale nie rozwiązuje on mojego problemu.

http://stackoverflow.com/questions/21803108/symfony-2-save-json-and-display-value/21805045

Z góry dzięki za wskazówki, pozdrawiam

Valantir

  • Global Moderator
  • Hero Member
  • *****
  • Wiadomości: 593
    • Zobacz profil
Odp: Formularz z dodatkowymi polami (json_array)
« Odpowiedź #1 dnia: Września 05, 2016, 21:22:32 »
A dlaczego nie rozwiązuje?

gawi

  • Newbie
  • *
  • Wiadomości: 11
    • Zobacz profil
Odp: Formularz z dodatkowymi polami (json_array)
« Odpowiedź #2 dnia: Września 06, 2016, 12:37:16 »
bo w builderze zdefiniowane są pola
Kod: (php) [Zaznacz]
        $builder
            ->add('name')
            ->add('quantity')
        ;

i potem json ma takie pola:

["name":"potatoes","quantity":"5kg"]

a ja potrzebuje edycje nazwy i wartości a nie samej wartości, można by dynamicznie modyfikować pola jak tutaj

http://symfony.com/doc/current/form/dynamic_form_modification.html

Valantir

  • Global Moderator
  • Hero Member
  • *****
  • Wiadomości: 593
    • Zobacz profil
Odp: Formularz z dodatkowymi polami (json_array)
« Odpowiedź #3 dnia: Września 06, 2016, 20:48:40 »
Spróbuj sobie napisać transformera, który odpowiednio zmieni Ci tablicę, jaką dostajesz po wysłaniu formularza. Więcej tutaj:
http://symfony.com/doc/current/form/data_transformers.html

gawi

  • Newbie
  • *
  • Wiadomości: 11
    • Zobacz profil
Odp: Formularz z dodatkowymi polami (json_array)
« Odpowiedź #4 dnia: Września 07, 2016, 09:35:29 »
Dzięki, sprawdzę to  :) Pozdrawiam serdecznie