Ptasior Opublikowano 9 Listopada 2012 Opublikowano 9 Listopada 2012 Ostatecznie stwierdziłem, że rozszerzenie formularza rejestracji będzie najłatwiej osiągalne za pomocą hook'a. Wszystko ładnie pięknie do momentu kiedy muszę walidować pola, które dodałem. Niby można to obsłużyć bezpośrednio w klasie należącej do rozszerzenia, aczkolwiek nie mam pojęcia jak można wtedy zwracać błędy(w głównym pliku modułu rejestracji tabela z błędami to $form_errors), tzn. mimo iż błąd wystąpił i powinien zostać wyświetlony to formularz ma to gdzieś i przechodzi do kroku 2 - 'potwierdzenia'. I tu właśnie oczekuję pomocy, a mianowicie - w jaki sposób mogę obsłużyć dodaną część formularza oraz jak zsynchronizować moje błędy z głównymi błędami rejestracji. Z góry dziękuje.
Manager DawPi Opublikowano 9 Listopada 2012 Manager Opublikowano 9 Listopada 2012 O jakim 'hooku' piszesz? Zahaczający o skin czy o przesłaniającym klasę rejestracji? intermedia - profesjonalne rozwiązania Invision Power Board --- Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.
Ptasior Opublikowano 9 Listopada 2012 Autor Opublikowano 9 Listopada 2012 Tak, o tym 'zahaczającym', dokładniej przed if'em "hasCfields".
Ptasior Opublikowano 9 Listopada 2012 Autor Opublikowano 9 Listopada 2012 (edytowane) Czytając jeszcze temat na oficjalnym forum invisionize, doszukałem się informacji o tych action overloader'ach i jeśli dobrze rozumiem, to aby to rozszerzenie formularza działało poprawnie to muszę użyć dwóch hook'ów, tak? Jednego template hook'a oraz action overloader'a aby przeprowadzić walidacje formularza. @edit: ups. Edytowane 9 Listopada 2012 przez Ptasior
Manager DawPi Opublikowano 9 Listopada 2012 Manager Opublikowano 9 Listopada 2012 I co z tym chcesz zrobić? Jak walidować cokolwiek jak to tylko dodanie szablonu do bitu skina? Walidacja tylko przez odpowiednie przesłonięcie klasy rejestracji. intermedia - profesjonalne rozwiązania Invision Power Board --- Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.
Ptasior Opublikowano 9 Listopada 2012 Autor Opublikowano 9 Listopada 2012 (edytowane) Właśnie to napisałem. Aktualnie mam coś takiego: <?php class tpRegisterPaymentOverloader extends public_core_global_register { public function registerProcessForm() { $this->registry->class_localization->loadLanguageFile( array( 'public_d3elite' ), 'd3elite' ); /* Mod is enabled? */ if ( $this->settings['tp_regp_enable'] == 0 ) { return; } if( strlen($this->request['serviceCode']) < 8 ) { $form_errors['code'] = $this->lang->words['tp_regp_error_code_minlength']; } else { $form_errors['code'] = $this->lang->words['tp_regp_error_code_wrong']; } parent::registerProcessForm(); } } lecz nadal $form_errors nie zawiera błędu(sprawdzam przy użyciu var_dump w register.php). Edytowane 9 Listopada 2012 przez Ptasior
Manager DawPi Opublikowano 10 Listopada 2012 Manager Opublikowano 10 Listopada 2012 Hm, ale to Cię nie powinno dziwić. To zmienna lokalna, jak ma być przekazana wyżej do klasy nadrzędnej? Inaczej to trzeba zrobić. Ja powiem Ci tak - ja zawsze przesłaniam całą tę klasę jej zawartością i w tym kodzie robię odpowiednie zmiany. Ma to pewien minus - działa tylko na określonej wersji forum (zwykle najnowszej), ale nastręcza najmniej problemów. Może można to inaczej zrobić, np. miast tej metody wyżej przesłoń tę: public function registerForm( $form_errors=array() ) { Gdzie jak widać błędy już są przekazywane, więc nie powinieneś mieć problemów. intermedia - profesjonalne rozwiązania Invision Power Board --- Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.
Ptasior Opublikowano 10 Listopada 2012 Autor Opublikowano 10 Listopada 2012 No wlasnie, wczoraj wpadlem na pomysl przeslonienia calej metody i w sumie siwetnie to dziala, oczywiscie z tym minusem, ze wszystko zapewne posypie sie po update, aczkolwiek nie jest to jakas straszna przeszkoda. Jedyne co mnie zastanawia to to, ze w template hook'u musze przeprowadzic walidacje aby wysiwetlac bledy w formularzu, a w overloadzie przeprowadzam walidacje, aby blokowac wykonanie sie rejestracji. Dzieki za pomoc, temat mozna zamknac.
Manager DawPi Opublikowano 10 Listopada 2012 Manager Opublikowano 10 Listopada 2012 Problem ROZWIĄZANY. Jeśli są jakiekolwiek wątpliwości, pytania proszę o wysłanie wiadomości do jednego z członków ekipy zarządzającej. Wszelkie uzasadnione reklamacje/pretensje/sugestie/rady przyjmuje ekipa forum. intermedia - profesjonalne rozwiązania Invision Power Board --- Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.
Rekomendowane odpowiedzi