Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] obsługa drzew a admin generator
Forum PHP.pl > Forum > PHP > Frameworki
zimi
czy da się bez zagłębiania specjalnie w szablony czy akcje admin generatora dodać jeszcze jedno pole które będzie niewidoczne dla użytkownika...? chodzi mi aby nie było dla niego tworzonego wiersza w formularzu... póki co nawet jak przypisałem typ: type: input_hidden_tag w generator.yml to pole miało swój wiersz i etykietę...
Cysiaczek
Użyj partiala np. do pola ID i wstaw razem z nim to pole - ręcznie

Pozdrawiam.
zimi
trochę trefnie.... musiałbym zmienić _edit_form.php który musiałbym edytować po każdej zmianie aplikacji... czyt. -> zasługi admin generatora ciut zaprzepaszczone... ale ok, rozumiem że nie da się tego zrobić mniej inwazyjnie

btw. czy tylko ja mam wrażenie że kiepsko przerabia się wytwór admin generatora jeśli nie do końca spełnia on nasze oczekiwania...?
destroyerr
Nie będziesz musiał zmieniać za każdym razem, wystarczy raz przeczytać książke. Konkretnie przyda Ci się ten rodział: http://www.symfony-project.org/book/1_0/14...artial%20Fields

Więc nie jest znowu aż tak kiepsko, choć rzeczywiście pewne rzeczy stwarzają problem.
Cysiaczek
Ma on wiele wad. Jak chcę sie robić w nim rzeczy niestandardowe, takie jak np, edycja 3 powiązanych obiektów na raz, to trzeba ręcznie przeklepać dużo kodu. Traktuj ten generator jako... no właśnie - generator kodu, który potem lepiej gdzieś po prostu przekleić i sobie zmodyfikować ;]
Oczywiście i tak wspaniale wspomaga pisanie, zwłaszcza prostych rzeczy.

Pozdrawiam.
imblue
Cytat(Cysiaczek @ 22.09.2008, 22:14:32 ) *
edycja 3 powiązanych obiektów na raz

To akurat nie problem, polecam klasę sfPropelObjectPeerImpersonator, która jest fajnie zoptymalizowana pod zapytania i nie trzeba przeklejać i modyfikować kodów z om/base* (ehh).

Też myślałem kiedyś że gen admina jest ograniczony (moim zdaniem to po prostu kwestia wygody a nie ograniczenia, nie oszukujmy się, nie ma rzeczy niemożliwej do zrobienia smile.gif) ale to co można z niego wycisnąć i to co osobiście uzyskałem na genie admina to:
drzewko (sfPropelActAsNestedSetBehaviorPlugin) na listingu z generatora admina z paginacją, rzecz jasna na criteria i criterionach z dodatkowymi polami level, hasPrevSibling, hasNextSibling (w celu przemieszczania tylko na tym samym poziomie), no i do tego i18n, wszystko to jednym zapytaniem żeby nie obciążać bazy. Także jak ktoś chce to może fajne rzeczy uzyskać smile.gif
Cysiaczek
Tyle, że mi nie o to chodziło. Mówiąc o edycji trzech obiektów mam na myśli wsparcie z poziomu pliku generator.yml, które jest... żadne - poza obsługą relacji. Dobrym przykładem jest sfGuardPlugim, w którym nie możesz na jednej stronie edytować powiązanego obiektu zawierającego szczegółowe dane użytkownika - bodajże sfGuardProfile. Po prostu aż się prosi, aby wskazać jedynie pole poprzez np.
Kod
obiekt1.obiekt2.name

co by np. domyślnie oznaczało:
  1. <?php
  2. $obiekt1->getObiekt2()->getName();
  3. ?>


Pozdrawiam.
zimi
Moim zdaniem admin generator jest dość upośledzonym wyrobem... zmiana czegokolwiek w kodzie wiążę się ze zmianą niemal wszystkiego innego
może po prostu za bardzo raczkuję w temacie ale dla mnie dodanie i edycja czegoś powinno być zupełnie rozdzielną rzeczą... podczas gdy w kodzie w każdej metodzie jest $this->forward('module/edit');, wg mnie w generator.yml przynajmniej powinna być możliwość ustawienia innej wartości "tytułu" chociażby dla akcji dodania i edycji... "Edytuj posta" "Dodaj posta" a żeby to zrobić z admin generatorem trzeba grzebać po szablonach a najlepiej pewnie stworzyć swoje... :/

narazie chyba sobie odpuszczę admin generatora chyba że do naprawdę "liniowych danych" bez poważniejszych powiązań, i pobawię się z nowymi formularzami... poczekam na 1.2 może tam admin generator będzie ciekawszy i bardziej elastyczny... co obiecują...

jeśli mówię farmazony to czekam na jakąś konstruktywną krytykę smile.gif
imblue
Cytat(zimi @ 29.09.2008, 13:14:28 ) *
trzeba grzebać po szablonach a najlepiej pewnie stworzyć swoje... :/

Jeśli chcesz bez grzebania to nadpisz bodajrze template editSuccess i sprawdzaj
  1. <?php
  2. $this->getRequestParameter('id')
  3. ?>

A jak chcesz dla każdego modułu to skopiuj domyślny szablon, zmodyfikuj odpowiednio i używaj go zamiast domyślnego. Jeżeli to jest pracą aż nadto nie licz że później będzie łatwiej smile.gif
Cysiaczek
Jest plugin który oddziela edit od create. smile.gif

Pozdrawiam
misiaczekmarek
witam,

szukam, szukam i nie potrafię znaleść gdzieś opisu pomocnego do wykorzystania kodu wygenerowanego przez generator tak jak pisał Cysiaczek:

Cytat
Traktuj ten generator jako... no właśnie - generator kodu, który potem lepiej gdzieś po prostu przekleić i sobie zmodyfikować ;]


może ktoś polecić pomocną lekturę?
Cysiaczek
Niestety, brak takowych. W każdym razie ja nie znalazłem. Po prostu trzeba się nauczyć.
http://www.symfony-project.org/uploads/ass...atorRefCard.pdf

Masz np. 2 modele i chcesz zrobić edycję obu na jednej stronie. Generujesz oba osobno, a potem z cache wyciągasz kod szablonów jednego modelu i przeklejasz do szablonu drugiego modelu. Analogicznie kopiujesz część metod z akcji. Wprowadzasz poprawki, aby wszystko się rtzymało kupy i już. Za pierwszym i drugim razem bywa naprawdę ciężko, ale jak się tak zrobi kilka razy, to potem łapiesz schemat. Na pewno jest to szybsze niż ręczne pisanie kodu html, css i php.

Pozdrawiam.
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.