Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF][SF2][Symfony2]Wiele danych z jednej tabeli w entity type
Crash89
post
Post #1





Grupa: Zarejestrowani
Postów: 191
Pomógł: 7
Dołączył: 3.04.2013

Ostrzeżenie: (0%)
-----


Witam,

Chcę wyświetlić w formularzu dla pola entity wszystkie pola kolumny tego entity z bazy danych w formularzu przy radio button.
(kolumny takie jak opis, cena)
W tej chwili mogę pobrać tylko jedno pole (choice_label w form type), jak coś takiego zrobić przez entityType::class?

Domyślam się że pewnie będę musiał stworzyć nowe pole typu formularza, a może się jednak da przez entity type?

Pracuję na symfony 3.


edit:
Czy może najlepszym wyjściem jest pominięcie formularzy symfonowych i zrobienie tego w zwykłym htmlowym formularzu, a dane po prostu pobrać z bazy danych i ustawić w widoku ?

Może wyjaśnię to bardziej:

Chcę wyświetlić przy polu formularza 3 dane pochodzących z pola entity: nazwe, opis i cene.
Polem tym jest radio button. Normalnie mogę z tych danych pobrać tylko jedną daną, poprzez atrybut choice_label w formType.
W tym formularzu chcę wybrać metodę przesyłki gdzie opisem mają być te trzy dane umieszczone w różnych miejscach, wiem że trzeba będzie przygotować form_widget dla tego pola.

Ten post edytował Crash89 13.01.2017, 17:20:43
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crash89
post
Post #2





Grupa: Zarejestrowani
Postów: 191
Pomógł: 7
Dołączył: 3.04.2013

Ostrzeżenie: (0%)
-----


Poczytałem i chyba wiem co należy zrobić ale nie mogę znaleźć linijki kodu która odpowiada za wyświetlenie choice_label w formularzu, robię to tak:

W entity tworzę nową metodę:
  1. public function getDescriptionShipment()
  2. {
  3. return $this->name . ' <span class="class">' . $this->description . ' </span> <span>Płatność online: ' . $this->priceOnline . ' </span> <span>przy odbiorze: ' . $this->priceTackle . '</span>';
  4. }


W formularzu dodaję je jako choice label.

I tutaj przed formularzem nadpisuję ten widget:

  1. {%- block choice_widget_expanded -%}
  2. <div {{ block('widget_container_attributes') }}>
  3. {%- for child in form %}
  4. {{- form_widget(child)|raw -}}
  5. {{- form_label(child, null, {translation_domain: choice_translation_domain})|raw - }} // W tej linijce dodałem raw, dzięki niemu nie wyswietlane sa tagi html
  6. {% endfor -%}


Niestety to nie przynosi efektu, w widoku zostają wyświetlone tagi html (span) a chcę żeby tego nie wyświetlało.
Nie wiem czy to odpowiada za wyświetlenie choice_label dla expanded w symfony. Wydaje mi się że wystarczy znaleźć to miejsce i dodać raw do tego i będzie po problemie.

Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 29.12.2025 - 13:44