Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] admin generator edycja dwie kolumny
Forum PHP.pl > Forum > PHP > Frameworki
stachuf11
witam
Chcę aby formularz edycji wyświetlał się w dwóch kolumnach,
jest wiele pól edycyjnych, chcę je umieścić w dwóch kolumnach
jak to zrobić w admin generatorze - symfony?
proszę o pomoc-wskazówki
pozdrawiam
Stachu
athabus
Oj to czeka Cię wiele pracy. Chyba zbyt wiele oczekujesz od automatu - admin generator jest po to aby na szybko stworzyć backend, ale jeśli potrzeb Ci udziwnień to już niestety musisz się napracować.
Ogólna wskazówka jest tutaj http://www.symfony-project.org/book/1_0/14...g%20the%20Theme - po prostu musisz stworzyć swój własny theme - nadal nie wiem jednak czy będzie możliwe rozmieszczenie elementów dokładnie jak ty chcesz.

Jeśli masz potrzebę bardzo niestandardowego interfejsu to IMHO najprościej będzie go napisać od podstaw.
michalg
Nie wiem, jak wyglądają klasy formularzy tworzonej przez generator admina, ale jeżeli dziedziczą one z jakiejś jednej, bazowej klasy, którą można modyfikować to możesz spróbować w tej klasie ustawić własny formformatter:

  1. <?php
  2. $this->getWidgetSchema()->addFormFormatter("my", new myFormFormatter($this->getWidgetSchema()));
  3.        $this->getWidgetSchema()->setFormFormatterName("my");
  4. ?>


Niestety, czy da się napisać takiego formatera, który by tworzył formularze dwukolumnowe (oraz jak to zrobić), to Ci nie powiem. Nie jest to niestety opisane dobrze w dokumentacji (a właściwie wogóle). Ja modyfikowałem tylko właściwości formatera (rowFormat, helpFormat itp). Obawiam się, że w Twoim wypadku będzie potrzebne przeciążenie metod.

Zobacz na klasy:
sfWidgetFormSchemaFormatter
sfWidgetFormSchemaFormatterList
sfWidgetFormSchemaFormatterTable

Jeżeli uda Ci się rozwiązać problem, to daj znać.
stachuf11
dzieki za wskazówki
pozdrawiam
Wojciech Bańcer
Nie wiem czy dobrze Cię zrozumiałem, ale ja to robię tak:
1. W admin generatorze definiuję sobie bloki do wyświetlania (w generator.yml):

  1. display:
  2. "Blok 1": [pole1, pole2, pole3]
  3. "Blok 2": [pole4, pole5, pole6]


2. po utworzeniu strony, zobacz w kod - każdy z bloków ma odrębne id przypisane do elementu "fieldset" (tworzy w nim id np. sf_fieldset_blok_1. To pozwala na dowolne definiowanie wyglądu per "blok" (w tym i szerokości, i położenia) za pomocą styli CSS.

Ja używam czegoś podobnego:

  1. #sf_fieldset_blok_lewy { float:left; margin-right:5px; min-width:385px; width:50%; }


dla bloków z lewej strony, a prawa strona "sama" mi się układa o ile jest miejsce. Moje rozwiązanie idealne nie jest, ale się w moim przypadku sprawdza.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.