![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 728 Pomógł: 76 Dołączył: 12.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Co chcę osiągnąć: dodać globalną ścieżkę przeszukania dla dekoratorów dla wszystkich elementów formularza
Mam formularz z metodą init: class Application_Form_Kontakt extends Zend_Form
Klasa z dekoratorem Validate jest umieszczona w library/My/Decorator/Validate.php Nagłówek klasy: class My_Decorator_Validate extends Zend_Form_Decorator_Abstract Kiedy uruchamiam stronę z formularzem dostaję komunikat: Message: Plugin by name 'Validate' was not found in the registry; used paths: Zend_Form_Decorator_: Zend/Form/Decorator/ czyli wygląda to tak jakby ścieżka My/Decorator nie została dołączona a przecież jest w metodzie init formularza -------------------- gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet. Zarabianie bez wysiłku na domenach bez ruchu: prolink. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 349 Pomógł: 72 Dołączył: 22.01.2008 Skąd: Wadowice/Oświęcim Ostrzeżenie: (0%) ![]() ![]() |
Też ostatnio "wałkowałem" ten problem.
Spróbuj tak:
i oczywiście klasę MyDecorator trzymasz w /library/My/Form/Decorator/MyDecorator.php -------------------- "PHP to człowiek. MySQL to również człowiek."
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 728 Pomógł: 76 Dołączył: 12.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Niestety nie zatrybiło ale to nieistotne bo przerzuciłem tą metodę do klasy dziedziczącej po Zend_Form_Element i mam inny problem.
Elementy formularza tworze teraz tak:
Co chcę osiągnąć: mieć dostęp do właściwości wszystkich klas dziedziczących od Zend_Element_Form Problem jest kiedy np. chcę utworzyć listę rozwijaną Zend_Form_Element_Select klasa Validator nie dziedziczy właściwości od klasy Zend_Form_Element_Select i nie mogę przekazać tablic multiOptions ani żadnej właściwości charakterystycznej dla klas dziedziczących od Zend_Form_Element. Jedne taki problem z helperem rozwiązałem więc przypuszczalnie da się to zrobić, tylko nie znam metod a w dokumentacji ciężko wyszukać takie rzeczy. Moja klasa ma za zadanie mapować validatory Zenda na odpowiednią uniwersalną walidację po stronie klienta robioną przez klasę JS. Jeśli projekt ukończe nie omieszkam go udostępnić. Poniżej klasa Validator
OK problem rozwiązany ale musiałem dopisać metodę buildValidatorMarker do klasy Zend/Form/Element.php trochę to nieestetyczne dopisywać się do natywnych klas Zenda, jednakże takie rozwiązanie zapewnia największą wygodę i elastyczność bo metodę buildValidatorMarker mogę wywołać każdego elementu formularza. W ten sposób, bez znaczenie czy to jest text czy checkbox:
Jest to ciekawy problem z OOP bo zakładam, że nie zauważam jakiejś opcji -------------------- gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet. Zarabianie bez wysiłku na domenach bez ruchu: prolink. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 22:33 |