Radzę sobie już z tworzeniem formularzy za pomocą ZendFramework poprzez deklaracje tablicowe np:
<?php 'method' => 'post', 'action' => $this->view->baseUrl.'/uzytkownicy/rejestracja/', 'required' => true, 'label' => '* Login:', 'value' => $t_uzytkownik->login, 'StripTags' ), 'isEmpty' => 'Proszę podać login.' ))), 'min' => false, 'max' => '50', 'stringLengthTooLong' => 'Login jest zbyt długi. Maksymalna ilość znaków to %max%.' ))), 'notAlnum' => 'Login może składać się wyłącznie z liter i cyfr.' ))) ), 'maxlength' => '50' ) )) ) )); ?>
W przypadku tworzenia prostych, "oczywistych" systemów nie ma problemu. W momencie tworzenia bardziej skomplikowanych, wymagających pewnych wyjaśnień, zbieranie wszystkich potrzebnych informacji np. "Jeśli dodasz użytkownika zaznaczając pole KONTO AKTYWNE, automatycznie zostanie uzupełniona data aktywacji konta użytkownika." stworzy kompletny chaos i skutek będzie odwrotny do zamierzonego.
Chciałbym stworzyć kontekstową pomoc do formularzy. Nad formularzem widniałby tekst: "Pomoc możesz uzyskać po umieszczeniu kursora myszy nad nazwą pola np. "Login".
Wykorzystałbym system wyskakujących dymków OVERLIB. W jaki sposób go wykorzystywać wiem, jednakże natrafiłem na problem z wstawianiem tagów HTML do znacznika Label.
Powyższy przykład notacji tablicowej dla formularza posłuży za przykład. Jeśli zamiast Login w tag LABEL wstawię np. <div onmouseover="alert('cos')">tekst</div> tagi html nie są w ogóle interpretowane (są wywalane na ekran podobnie jak robić to można za pomocą funkcji htmlspecialchars).
Pytania są trzy.
Czy wykorzystując moją notację tablicową mogę do znacznika label dodać atrybut onmouseover wraz z wartością?
Jeśli tego zrobić nie mogę to ewentualnie, czy istnieje jakaś metoda na to by wykorzystać notację tablicową (może należałoby ją pisać w inny sposób), by ten atrybut móc dodać?
Jeśli dodać go w ogóle nie można, to w jaki sposób włączyć możliwość korzystania z tagów html w znaczniku label? W tym wypadku poradziłbym sobie "na około", poprzez właśnie wstawianie np. diva z nadanym atrybutem onmouseover.
Wiem, że można pisać własne decoratory formularzy, ale nie bardzo potrafię z tego korzystać. Poza tym chciałbym korzystać z domyślnego układu treści stosowanego w dekoratorze Zend, czyli znaczników dt dd itp.
Pozdrawiam i z góry dziękuję za pomoc.
PS: Wiem, że onmouseover mogę dodać bezpośrednio do pola tekstowego, ale to nie jest dobre rozwiązanie, bo niektóre pola tekstowe zamieniane są na edytor typu WYSYWIG. Poza tym dymek w takich miejscach byłby trochę upieredliwy.