[Symfony][SF2][Symfony2] Sonata - zmiany w dashboard., Symfony 2.2 |
[Symfony][SF2][Symfony2] Sonata - zmiany w dashboard., Symfony 2.2 |
25.06.2013, 20:28:34
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 25.06.2013 Ostrzeżenie: (0%) |
Czesc, jestem nowy w Symfony. Zaznajomilem sie z dokumentacja i czescia cookbooka. Postanowilem w koncu cos napisac. Wystartowalem od backendu z Sonata Admin Bundle. Utworzylem modele, pozniej po nierownej walce z Sonata, skonfigurowalem ja, utworzylem klasy Adminow dla moich modeli i wszystko calkiem fajnie dziala(oprocz kiepskiej dokumentacji samej Sonaty ). Akcje CRUDoskie wygenerowaly sie calkiem sprawnie.
Teraz moje wlasciwe pytanie, chcialbym przerobic domyslnego dashboarda, dodajac taki panel ze statystykami(ilosci userow, postow, co nowego do moderacji, jakies linki, moze wykres, itp). W dokumentacji Sonaty zalecaja uzywanie Block Bundle, niestety po przeczytaniu instrukcji tworzenia nowego blocka, nadal mam sporo watpliwosci(pewnie to braki w zrozumieniu symfony). Bylbym bardzo wdzieczny jakby ktos mi to lopatologicznie wytlumaczyl, jak stworzyc takiego blocka, jak dobrac sie do zawartosci modeli w tym blocku, jak to pozniej wyswietlic w szablonach. Mile widziane jakies solidne linki w tej tematyce, strasznie ciezko cos znalezc. PS: Uzywam Doctrine ODM i mongodb, to troche komplikuje sprawe. Przepraszam za brak polskich liter . |
|
|
25.06.2013, 20:45:17
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) |
Cześć.
Musisz zadawać konkretniejsze pytania. -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
25.06.2013, 22:24:29
Post
#3
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 25.06.2013 Ostrzeżenie: (0%) |
Ok, tak wiec konkretniej. Na podstawie dokumentacji Admin Bundle, wywnioskowalem, ze dashboard sklada sie z blockow(Block Bundle), wiec aby dodac cos swojego, musze stworzyc swoj wlasny block, tak jak przykladowy tutaj:
http://sonata-project.org/bundles/block/ma...irst_block.html Pytanie jak w tym bloku dostac sie do bazy danych, w contorlerze wyglada to tak:
Co zrobic zeby, wyswietlic w tym bloku nazwe ostatnio dodanego uzytkownika? |
|
|
25.06.2013, 22:46:46
Post
#4
|
|
Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) |
Cytat Pytanie jak w tym bloku dostac sie do bazy danych Cytat Co zrobic zeby, wyswietlic w tym bloku nazwe ostatnio dodanego uzytkownika? Z dokumentacji wynika, że taki blok to zwykła usługa. Wystarczy wstrzyknąć odpowiednie zależności, np. repozytorium użytkowników. Wtedy bez problemu pobierasz ostatnio dodanego użytkownika. |
|
|
27.06.2013, 17:19:32
Post
#5
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 25.06.2013 Ostrzeżenie: (0%) |
Dzieki bardzo za odpowiedz, naprowadziles mnie na wlasciwy tor i udalo mi sie zrealizowac to co chialem. Mala instrukcja dla osob z podobnym problemem:
-tworzy wlasny Block implementujac w naszej klasie interfejs BaseBlockService:
Dodatkowo utworzylem usluge, ktora zajmuje sie pobieraniem danych z modeli zeby nie zasmiecac niepotrzebnie metody execute. Nastepnie tworzymy szablon:
Na koniec pozostaje konfiguracja uslugi:
Jezeli ktos chcialby pobrac cos z bazy bezposrednio w metodzie execute, to wystarczy tylko pobrac document menagera i przekazac dane jako parametry do szablonu:
|
|
|
27.06.2013, 20:11:53
Post
#6
|
|
Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) |
Mała rada dla Ciebie:
Cytat Injecting a service container is like bringing the whole supermarket to cook, instead of just the ingredients Więc dla Twojego bloku wystarczy ustawić tylko sonata.admin.statistics, a nie cały kontener. |
|
|
27.06.2013, 20:52:56
Post
#7
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 25.06.2013 Ostrzeżenie: (0%) |
Racja, poprawie swoj kod. Dzieki za rade. Swoja droga zastanawia mnie, jak to jest z wydajnoscia podczas wstrzykiwania lancucha uslug, tj. pobieram usluge, ktora w sobie pobiera inna usluge itd. Jeszcze nie zaglebialem sie w szczegoly tego mechanizmu .
|
|
|
Wersja Lo-Fi | Aktualny czas: 29.03.2024 - 08:00 |