Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] admin generator i filtry
Forum PHP.pl > Forum > PHP > Frameworki
blackroger
Witam. Mam pytanie odnośnie filtrów....chcę wygenerować formularz wyszukiwania za pomocą admin generatora.....Mam model Książki i jest w nim pole stan. Ma ono być selectboxem. Zdefiniowałem sobie tablicę z warościami rezerwa, zamówione, brak itd....w Klasie dziedziczącej po BaseKsiazkaFormFilter (KsiazkaFormFilter) nadpisalem widget

  1.  
  2. $this->widgetSchema['state'] = new sfWidgetFormChoice(
  3. array('choices' => $statesArray));


i dodalem taki validator

  1. $this->validatorSchema['state'] = new sfValidatorChoice(
  2. array('choices' => array_keys($statesArray)));
  3.  


ładnie idzie ale nie szuka....


Co mam zrobic?
destroyerr
Można wiedzieć co znaczy nie szuka?
blackroger
może się nieprecyzyjnie wyraziłem....POST idzie ale nie bierze pod uwagę tego pola...nie wyświetla błędów ani nic poprostu tak jakby nie reagował na wartość tego pola....
Tak wyglada klasa BaseKsiazkaFormFilter po wygenerowaniu:

  1. $this->setWidgets(array(
  2. 'id' => new sfWidgetFormFilterInput(array('with_empty' => false)),
  3. .
  4. .
  5. 'state' => new sfWidgetFormFilterInput(array('with_empty' => false)),
  6. ));
  7.  
  8. $this->setValidators(array(
  9. .
  10. .
  11. 'state' => new sfValidatorSchemaFilter('text', new sfValidatorInteger(array('required' => false))),
  12. ));


I tu wszystko jest fajnie ale jest input zamiast selecta. wpisujac powiedzmy 1 do inputa filtr dizal i ładnie wyrzuca oczekiwane wyniki, ale problem pojawia sie jak chce użyć w tym miejscu selecta....
destroyerr
Podejrzewam, że pole state w filtrze ma typ Number. Standardowo ten typ jest obsługiwany przez widżet sfWidgetFormFilterInput, który zawiera pole text. Po podpięciu wartości do formularza filtra, przy budowaniu zapytania pobierana jest wartość $values['state']['text']. Wartość z selecta, leci bezpośrednio ($values['state']. Możesz zmienić takie zachowanie np. poprzez dodanie do Twojego filtra funkcji: addStateCriteria lub addStateQuery.
blackroger
przepraszam cię bardzo ale nie do końca zrozumiałem....Rozumiem że w klasie ksiazkaFormFilter ma stworzyc funkcję addStateCriteria....tylko co ona ma robic? Sorry za misunderstanding ale z generatorami w sumie zaczynam dopiero przygode smile.gif

Ma zamieniać $values['state'] na $values['state']['text'], tak? Proszę o wyjaśnienie

dobra już doszedłem do tego....wielkie dzieki
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.