Ostatnio musiałem dodać do elementu Label w Zend_Form kod HTML. Wydawałoby się, że nie może być nic prostszego. Niestety okazało się, że po dodaniu znaczników do etykiety, zostały one wyświetlone na stronie i wyglądało to mniej-więcej tak:
Niestety dokumentacja nie była zbyt pomocna w tym przypadku i trzeba było pogrzebać w kodzie frameworka. Rozwiązanie okazało się równie banalne jak sam problem. Wystarczyło ustawić opcję escape w dekoratorze Label na false:
$text = new Zend_Form_Element_Text('text');
$text->setLabel('<b>Etykieta</b>');
$this->addElement($text);
$text->addDecorator('Label', array('escape' => false));
W efekcie uzyskałem pożądany efekt:
wydajniej zakomentować linijkę
Jaką linijkę? Jeśli jest jakiś lepszy sposób, chętnie go poznam.
Dzięki, właśnie tego cały wczorajszy dzień szukałem a tu pyk i znalazłem, super przyda się jak nie wiem, ponieważ na co dzień nie programuje w Zendzie miałem jakieś drobne poprawki wprowadzić i się niezmiernie z tym męczyłem.
~piotrooo
Cieszę się, że mogłem pomóc
Tego typu efekty powinny być dodane w CSS. Np:
label{font-weight:bold;}
Html-a bym w to nie mieszał
~bapro
Masz rację. Takie rzeczy powinny być załatwiane w CSS. Znacznika b użyłem jako przykładu. Równie dobrze mógłby to być span, czy sup.