![]() |
[problem] YiiFramework zdublowane ID w widgetach - Wersja do druku +- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl) +-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www) +--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych) +--- Wątek: [problem] YiiFramework zdublowane ID w widgetach (/thread-problem-yiiframework-zdublowane-id-w-widgetach) |
[problem] YiiFramework zdublowane ID w widgetach - R_Rafalsky - 15-03-2012 Witam, Na stronie głównej posiadam dwa widgety zawierające odpowiednio formularz logowania i rejestracji. Oba formularze korzystają z tego samego modelu, w którym zdefiniowane są scenariusze dla tych dwóch przypadków. Oba formularze dodawana są do widoku za pomocą metody renderPartial przez co pojawia się problem zdublowania ID dla poszczególnych pól formularza i przez to nie działa walidator compareAttribute. Czy jest jakiś prosty sposób na zmianę ID pól jednego z formularzy by nie musieć grzebać w akcjach logowania i rejestracji a tym bardziej w modelu? RE: [problem] YiiFramework zdublowane ID w widgetach - Pedro84 - 16-03-2012 Wrzuć coś z kodu, bo ja chyba nie ogarniam dziś, nie łapię po prostu o co biega ![]() RE: [problem] YiiFramework zdublowane ID w widgetach - R_Rafalsky - 16-03-2012 Dobra to tak na szybko Widok Login: Kod: <?php Widok register Kod: <?php $form=$this->beginWidget('CActiveForm', array( Layout: Kod: <?php W ten sposób ID dla login i haslo są zdublowane (występują zarówno w logowaniu i rejestracji, które jednocześnie są na stronie) i powoduje błędy w JS - nie wspominam już o walidacji. Tutaj masz screen z konsoli: http://screenshooter.net/8216679/awqscet EDIT: Nie chcę przerabiać żadnej z tych akcji ani nawet modelu. Jakie jest najmniej inwazyjne rozwiązanie by id w tych widgetach się różniło i poszczególne akcje mogły spokojnie walidować formularz za pomocą metod $model->attributes($_POST) i $model->validate(); W ostatniej chwili dostałem info, by logowanie i rejestracja było w formie lightboxach bez AJAXa (bo tak brzydko się ładuje a powinno być od razu) i komplikuje mi to sprawę RE: [problem] YiiFramework zdublowane ID w widgetach - Pedro84 - 16-03-2012 http://www.yiiframework.com/doc/api/1.1/CHtml#textField-detail Trzeci parametr, $htmlOptions podajesz jako tablica: array('id' => 'ID POLA') PS: id nie ma nic do walidacji po stronie serwera. RE: [problem] YiiFramework zdublowane ID w widgetach - R_Rafalsky - 16-03-2012 Eh to ja mam jednak gorszy dzień ![]() ![]() Poza tym compare nie działało mi dlatego, gdyż było przypisane do scenariusza rejestracji, reszta waldiatorów była bez scenariusza, instancję modelu tworzyłem bez scenariusza i stąd nie miałem walidacji. Głupie błędy a pół dnia zmarnowane... Dzięki! |