Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZF] Generowanie Zend_Form za pomocą partialloop
Riggs
post 12.02.2011, 19:50:15
Post #1





Grupa: Zarejestrowani
Postów: 162
Pomógł: 13
Dołączył: 16.06.2007

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


Witam,
czy ktoś wie czy takie połączenie jest możliwe? W "czystym" PHP mieszając HTML i kod PHP o takie cudo bardzo łatwo ale pisząc aplikację we frameworku stwarza to ogromy problem.
Mam do wygenerowania formularz dla n liczby zdarzeń (np. meczy piłkarskich). Element formularza to div z trzema wierszami: nagłówek z datą rozegrania meczu, drugi wiersz z herbami(obrazki) drużyn a pod nimi pola input do typowania wyniku, niżej nazwy drużyn.
Mam stworzone zapytanie SQL które odpowiednio łączy mi tabele i pobiera wszystkie dane (id meczu, id drużyn, ew wcześniejszy typ, obrazki itp) ale nie wiem jak połączyć to w jedną spójną całość. Wujek google też nie pomógł, mam nadzieję że tutaj ktoś już zmagał się z podobnym zagadnieniem i wie jak to zrobić.
Go to the top of the page
+Quote Post
mjdesign
post 12.02.2011, 19:52:48
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 14.03.2010

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


A nie lepiej sobie napisać jakiego helpera lub widget.

MJ
Go to the top of the page
+Quote Post
Pilsener
post 13.02.2011, 01:09:50
Post #3





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Cytat
ale pisząc aplikację we frameworku stwarza to ogromy problem.
- w zendzie? Bez przesady, to raczej zbiór komponentów, nikt nie każe używać Zend_Form, a nawet jeśli to:
1. Do każdego formularza można podpiąć własny widok
2. Każdy formularz można generować dynamicznie zarówno w kontrolerze, jak i samym formularzu (choćby pola select)

Problem pojawia się dopiero wtedy, gdy trzeba jakoś szczególnie otagować elementy np. multi-czekboksów - ale wtedy przychodzi nam z pomocą punkt 1, robisz sobie widok gdzie te inputy rozmieszczasz jak chcesz i albo dodajesz to samo w zend_form , albo odbierasz formularz tradycyjnie przez $_POST.
Go to the top of the page
+Quote Post
quality
post 18.02.2011, 11:25:29
Post #4





Grupa: Zarejestrowani
Postów: 172
Pomógł: 9
Dołączył: 13.02.2006
Skąd: Warszawa

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


Mozna nawet w bardzo prosty sposob tworzyc wlasne elementy formularza smile.gif
Ja zawsze tego uzywam przy dynamicznym generowaniu formularza, dodatkowo wykorzystujac grupowanie pol formularzy smile.gif


--------------------
Go to the top of the page
+Quote Post
Riggs
post 20.02.2011, 21:09:03
Post #5





Grupa: Zarejestrowani
Postów: 162
Pomógł: 13
Dołączył: 16.06.2007

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


Ok, pokombinowałem trochę i w sumie zrobiłem coś takiego, że formularz generuję normalnie za pomocą Zend_Form ale nie wyświetlam go bezpośrednio we widoku tylko pętlą (form->getElements() i później już z górki). Na moje potrzeby wystarczy, choć jest z tym trochę roboty.
Natomiast zastanawia mnie jeszcze jedna rzecz... W jaki sposób przekazać do widoku informację o tym, jaki obrazek ma wyświetlić (herb drużyny). Obrazki niestety nie nazywają się ID.jpg tylko mają jakieś losowe nazwy... Czy pobierać to w widoku np DruzynaMapper::pobierzObraz($id) czy w formularzu przez jakieś ukryte zmienne (choć to chyba nie jest dobry pomysł).
Go to the top of the page
+Quote Post
Pilsener
post 21.02.2011, 13:27:00
Post #6





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Zmienne niezbędne do wyświetlenia grafiki preparujesz w kontrolerze lub formularzu, następnie przekazujesz je do widoku i tam wyświetlasz poprzez $this->url(). Jeśli obrazek ma być dynamicznym elementem formularza to jest gorzej - najprościej po prostu dodać <img /> do label czy description, przy wyższych wymaganiach musimy zrobić to w dekoratorze lub stworzyć własny widok, którego użyjemy jako dekoratora.
Go to the top of the page
+Quote Post
quality
post 25.02.2011, 12:31:18
Post #7





Grupa: Zarejestrowani
Postów: 172
Pomógł: 9
Dołączył: 13.02.2006
Skąd: Warszawa

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


Ja obmyslilem prostsza metode pokazywania obrazkow w widoku formularza smile.gif

Wystarczy ze w klasie formularza dodamy:
  1. public $img;


Nastepnie przy generowaniu kontrolek, generujemy sobie obrazek:
  1. $this->img = '<img src="..." />'; // tutaj generujemy obrazek


I nastepnie wywolujemy go w widoku formularza jak normalna kontrolke:
  1. echo $this->element->img;


Pozdrawiam


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 09:23