Ludzie z Twittera odwalili kawał dobrej roboty dostarczając Bootstrap, bibliotekę pozwalającą niewielkim nakładem pracy przygotować dobrze wyglądającą stronę. Wystarczy odpowiednio przygotować kod HTML, aby gotowe reguły CSS ozdobiły stronę i sprawiły, że przestanie wyglądać siermiężnie. Do tego dochodzi bogaty zbiór pluginów JavaScript z powodzeniem uzupełniający niezastąpione jQuery UI.

Jakiś czas temu zabrałem się za tworzenie uniwersalnej aplikacji opartej o Zend Framework, mającej na celu ułatwienie tworzenie prostych szablonowych stron. Pierwszym usprawnieniem jakie do tej aplikacji dodałem, są formularze ostylowane przy pomocy wspomnianego Bootstrapa. Jedyne co należy zrobić, to dołączyć do projektu odpowiednie pliki CSS i JavaScript oraz dziedziczyć w klasie formularza po klasie Batman_Form_Horizontal lub Batman_Form_Inline. Pierwsza z nich odpowiada za standardowy formularz, druga za typowy formularz logowania. W tworzonej klasie formularza nie można zapomnieć o wywołaniu z klasy rodzica metody init.

class Application_Form_Book extends Batman_Form_Horizontal
{
    public function init()
    {
        $title = new Zend_Form_Element_Text('title');
        $title->setLabel('Tytuł')
              ->setRequired(true)
              ->addValidator(new Zend_Validate_NotEmpty());

        $submit = new Zend_Form_Element_Submit('btn_save');
        $submit->setLabel('Zapisz')
               ->setIgnore(true);

        $this->addElement($title);
        $this->addElement($submit);

        parent::init();
    }
}

Kod przykładowej aplikacji znajdziecie na GitHubie, a samą aplikację możecie zobaczyć pod adresem http://batman.my.phpcloud.com/universalzf/user/add.