Skocz do zawartości
Urlop / Vacation Czytaj dalej... ×
  • Zarejestruj się
  • 0
naXe

Formularz - wybieranie grup

Pytanie

Witam, posiadam taki oto kod:

$form->add(new \IPS\Helpers\Form\Select('servlist_groupvisible', \IPS\Settings::i()->servlist_groupvisible == 'all' ? 'all' : \IPS\Settings::i()->servlist_groupvisible, TRUE, [ 'options' => \IPS\Member\Group::groups(), 'parse' => 'normal', 'multiple' => true, 'unlimited' => 'all', 'unlimitedLang' => 'all_groups' ], NULL, NULL, NULL, 'servlist_groupvisible'));

po wybraniu grupy, zatwierdzeniu formularza i odświeżeniu strony (lub wejściu jeszcze raz) wartość select'a wraca na pierwszą pozycję listy wyboru (w moim przypadku na grupę Administrator).
próbowałem już 3 rozwiązań, ale każde kończy się podobnym efektem.

PS: nie wiem czy ma to jakieś znaczenie, ale formularza używam do aplikacji.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

5 odpowiedzi na to pytanie

Polecane posty

  • 0
Dnia 25.03.2016 o 12:00, naXe napisał:

PS: nie wiem czy ma to jakieś znaczenie, ale formularza używam do aplikacji.

Nie ma znaczenia

Ja tutaj widzę błąd w parsowaniu listy grup. Poprawny kd wygląda tak:

$form->add( new \IPS\Helpers\Form\Select( 'sd_register_groups', ( \IPS\Settings::i()->sd_register_groups == '*' || \IPS\Settings::i()->sd_register_groups === NULL ) ? '*' : explode( ',', \IPS\Settings::i()->sd_register_groups ), FALSE, array('options' => array_combine( array_keys( \IPS\Member\Group::groups() ), array_map( function( $_group ) { return (string) $_group; }, \IPS\Member\Group::groups() ) ), 'multiple' => true, 'unlimited' => '*', 'unlimitedLang' => 'all' ), null, null, null, 'sd_register_groups' ) );

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Próbowałem również z explode i efekt był podobny :/

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

no to może źle zapisujesz dane? nie ma możliwości, żeby to moje nie działało. używam tego w aplikacjach i działa ładnie

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Jakaś wskazówka? używam tylko $form->saveAsSettings($values).
Po wybraniu opcji UNLIMITED (Wszystkie grupy) zamiast wybierać pojedynczo, ustawienie zostaje zapisane i po odświeżenie nie zmienia się.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
  • 0

Z tego co pamiętam w takim przypadku sam musisz zadbać o joinowanie elementów itp. Użyj:

$form->saveAsSettings();

$form->saveAsSettings();

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

×

Ważne informacje

W celu świadczenie usług przez nasz Serwis na najwyższym poziomie, w ramach Serwisu wykorzystujemy pliki Cookies (tzw. ciasteczka). Korzystając ze stron Serwisu IPSBEYOND.PL bez zmiany ustawień przeglądarki będą one zapisane w pamięci urządzenia. Jeżeli nie dokonacie Państwo zmiany ustawień przeglądarki internetowej to wyrażacie zgodę na zapisywanie plików Cookies.