Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Kohana] Formo - problem z szablonami
Forum PHP.pl > Forum > PHP > Frameworki
askone
Hej

Jestem na etapie poznawania tego modułu do obsługi formularzy i niestety natrafiłem na problem zbudowania formularza (skomplikowanego) w oparciu o mój szablon np. tabelkę. Szukając w necie oraz w dokumentacji modułu znalazłem info, iż aby uzyskać tablicę elementów formularza należy wykorzystać metodę:
Kod
$form->get(TRUE);

Niestety to nie działa. Analizując kod tej metody zauważyłem, iż nie przyjmuje ona żadnego parametru, więc w dokumentacji jest pewnie błąd.

Czy ktoś z Was zna ten moduł i potrafi mi pomóc?? winksmiley.jpg
k_@_m_i_l
Ale po co. Przecież możesz załadować plugin table i formularz będziesz mieć w tabeli:)
Jeżeli dobrze cie zrozumiałem smile.gif
Manual do formo jest tutaj :
http://www.avanthill.com/formo_manual/
ale coś nie wchodzi:)
askone
Hej

Plugin table znalazłem wczoraj w paczce, ale nigdzie w dokumentacji nie ma słowa na jego temat... Masz może jakieś przykłady??
k_@_m_i_l
Tu masz przykładowy kod formularza, który pisałem do pewnej strony
  1. $typ = array('radio' => 'Jedna odpowiedź', 'check' => 'Wiele odpowiedzi');
  2. $form = Formo::factory('edit_poll')
  3. ->set('class','jNice')
  4. ->plugin('table')
  5. ->add('nazwa',array('class' => 'text'))->require(true)->label('Nazwa')
  6. ->add_select('typ',$typ)->label('Typ odpowiedzi')
  7. ->add_submit('send')->set('send','value','Zapisz');
  8.  
askone
Hej

Wracam do tematu sad.gif Formularz w tabelce udało mi się zbudować, ale niestety nie do końca udało mi się uzyskać tego co chciałem...

Mam coś takiego:


Pytanie:
W jaki sposób przenieść "Zresetuj" linię wyżej, tak aby było w jednym wierszu tabelki?? Pytanie można uogólnić w odniesieniu do różnych elementów formularza np. dwa obiekty select obok siebie...

Pozdrawiam

Edit:
Problem rozwiązany smile.gif smile.gif Kto szuka nie błądzi, a dla potomnych zamieszczam rozwiązanie:

W kontrolerze zamiast pobierać string lub array formularza przypisujemy obiekt, czyli:
Kod
$this->template->form = $form;

W widoku mamy dostęp do poszczególnych elementów formularza w sposób następujący:
Kod
echo $form->open();
echo $form->name->label(); echo $form->name; echo $form->name->error;
echo $form->close();


Gdzie 'name' to nazwa elementu formularza.
barat
Ogólnie chyba lepiej robić bind() - wtedy w razie braku obiektu formularza nie musisz sprawdzać isset smile.gif Do tego wtedy wszystko co ślesz do szablonu możesz sobie zgrupować gdzieś na górze w jednym miejscu. Oczywiście to tylko od Ciebie zależy jak sobie organizujesz kod.
Swoją drogą - get(TRUE) jest teraz martwe, wystarczy zobaczyć tą metodę w module formo - obecnie nie przyjmuje ona żadnych parametrów smile.gif
Niestety dokumentacja formo jest w niektórych miejscach przestarzała, a w innych zawiera błędy - najlepiej dodać sobie do RSS info o zmianach smile.gif
Trzeba jednak przyznać, że ów moduł jest bardzo przydatny i nim nie powstanie wersja na KO3 nie mam zamiaru się przenosić z KO 2.3.4 smile.gif

Ah - jeśli wyświetlasz w widoku formularz nie jako całość, to nie ma sensu (IMO) definiować labeli dla elementów ... wystarczy je pisać "z palca" w widoku, aczkolwiek nie ma to jakiegoś większego znaczenia - każdy robi jak lubi smile.gif
askone
Dzięki za info - moja przygoda z frameworkiem Kohana dopiero się rozpoczyna. Sporo rzeczy robię na wyczucie, bo nie wszystko można znaleźć w necie winksmiley.jpg A moduł Formo to faktycznie przydatna sprawa...

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.