Ładowanie Ładowanie

Artykuł > Szkoła deweloperów Drupala. Część II: wpinanie się w formularz

strony: 1 | 2 | 3 następna »
wydrukuj: print publikuj: wykop dodaj do flakera Dodaj jako nius na OSnews.pl! delicious

Szkoła deweloperów Drupala. Część II: wpinanie się w formularz

2009-12-14 09:22:00 | Jan Koprowski
Szkoła deweloperów Drupala. Część II: wpinanie się w formularz

W poprzedniej części poznałeś podstawową strukturę modułu Drupala. Dodałeś też z użyciem hooka pomoc dotyczącą swojej wtyczki. W tym odcinku dowiesz się, jak modyfikować istniejące formularze Drupala.

Przed przystąpieniem do pracy zainstaluj najnowszą developerską wersję Drupala 7.


Plan działania

Interesuje nas formularz dodawania artykułów. Znajdziesz go pod adresem http://localhost/drupal7/node/add/article. Przyjrzyjmy się mu przez chwilę.

Dwa pierwsze pola pozwalają podać nam tytuł i przypisać obrazek. Później tekst, tagi itd. Zauważ, że większość pól w formularzu posiada nagłówek oraz krótki opis, umieszczony pod spodem.

 

Każde pole posiada swój tytuł oraz krótki opis definiujący jego przeznaczenie.

 

Naszym zadaniem jest dodanie do oglądanego formularza pola typu select "Stopień zmęczenia" i wprowadzimy cztery wartości do wyboru: Wypoczęty, Niewypoczęty, Zmęczony oraz Wykończony. Pole będzie znajdowało się tuż pod "Tags" w osobnej sekcji "Stan psychofizyczny".

 

Teoria budowania formularzy w Drupalu

Na początku zapoznajmy się z teorią budowania formularzy w Drupalu. Formularze w Drupalu to zwykłe tablice (ang. array). Zawarte w nich informacje przekazywane są do funkcji drupal_get_form(), która na ich podstawie buduje odpowiedni kod HTML.

Sekcja dotycząca naszej wtyczki składać się będzie z pola typu fieldset i zawartego w nim selecta.

$form['disposition'] = array(
'#type' => 'fieldset',

'#title' => 'Stan psychofizyczny',

'#weight' => 10,

'feeling' => array(

'#type' => 'select',

'#title' => 'Stopień zmęczenia',

'#description' => 'Określ swój poziom zmęczenia
na podstawie cztero-stopniowej skali',

'#default_value' => 'Wypoczęty',

'#options' => array(

'Wypoczęty' => 'Wypoczęty',

'Niewypoczęty' => 'Niewypoczęty',

'Zmęczony' => 'Zmęczony',

'Wykończony' => 'Wykończony'

)

)

);

Dokładny opis wszystkich opcji można znaleźć w dziale Forms API Reference. Istnieje również tutorial pokazujący krok po kroku etapy tworzenia formularzy i korzystania z dostępnych wraz z nimi mechanizmów: Form API Quickstart Guide.

Co oznacza powyższy kod? Zaczynamy od dodania elementu "disposition". Podajemy jego typ (#type) "fieldset" oraz tytuł (#title). Wewnątrz tworzymy nowe pole "feeling" - tym razem typu (#type) "select".

Tytuł i opis pola (#title, #description) to kolejno "Stopień zmęczenia" i "Określ swój poziom zmęczenia na podstawie cztero-stopniowej skali".

Najnowsze wiadomości

reklama

strony: 1 | 2 | 3 następna »
wydrukuj: print publikuj: wykop dodaj do flakera Dodaj jako nius na OSnews.pl! delicious

Czytaj webhosting.pl:

Dyskusja

dodaj komentarz
0 + -
comnt #01 obi 2009-12-23 17:18:02
obi Razi niużywanie funkcji t() w skutek czego np. definicja opcji jest kuriozalna, a potencjalni twórcy modułu nie zlokalizują go.
------------------
Browser: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.11) Gecko/2009060309 Ubuntu/8.04 (hardy) Firefox/3.0.11
0 + -
comnt #02 Jan Koprowski® 2009-12-24 08:11:36
jankoprowski Dziękuję za uwagę :] bardzo słuszna. Zastosuję się do niej w najbliższych częściach :]
------------------
Jan Koprowski

Browser: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.38 Safari/532.0
0 + -
comnt #03 kenobi 2010-01-01 22:26:53
kenobi art fajny ale te wciecia w kodzie zrodlowym, :/ nie da sie ich porobic? to znacznie przyjemniej sie czyta jak sa. (a moze juz zbyt wiele sie naczytalem zrodel i mam obsesje :/ ?)
------------------
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6
0 + -
comnt #04 Jan Koprowski® 2010-01-04 08:14:40
jankoprowski Darek :] Czytasz?
------------------
Jan Koprowski

Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.4) Gecko/20091016 Firefox/3.5.4 (.NET CLR 3.5.30729)

Komentarze

  • Aby dodać komentarz, musisz podać swój nick, treść komentarza oraz poprawnie przepisać oba słowa z obrazka (słowa muszą być rozdzielone spacją).
  • Jeśli masz problemy z odczytaniem słów, zmień zdjęcie.
  • Używamy tego zabezpieczenia, ponieważ dzięki niemu rozwija się projekt reCAPTCHA. Sugerujemy jednak, by zarejestrować się w serwisie i w ten sposób ominąć konieczność ciągłego odczytywania wyrazów.
  • W treści komentarza można używać języka formatowania BBcode.