Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony]Personalizacja filtrów w panelu admina, niby proste a nie działa...
athabus
post
Post #1





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Witam,
Mój problem dotyczy symfony 1.4 i panelu admina.
Chciałbym troszeczkę zmienić filtry np. mam pole payment type, które przechowuje cyfrę oznaczającą dany sposób płatności np. 1 gotówka, 2 karta kredytowa itp.

Domyślnie filtry generowane dla widoku zawierają pole typu input text, chciałbym natomiast zmienić je na pole typu select.

  1.  
  2. class UserOrderFormFilter extends BaseUserOrderFormFilter
  3. {
  4. public function configure()
  5. {
  6. $ws=$this->widgetSchema;
  7. $ws['payment_status']=new sfWidgetFormSelect(array('choices'=>Option::getPossibleNames('payment_status')));
  8. $this->validatorSchema['payment_status']=new sfValidatorPass();
  9. }
  10. }


Kod działa połowicznie - tj. zmieniam payment_status na selecta z odpowiednimi wartościami. Filtrowanie jednak nie działa - dane nie są filtrowane - pole jest zupełnie ignorowane.

Jak zatem prawidłowo ustawić nowy filtr?

Będę wdzięczny za podpowiedzi.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
arecki
post
Post #2





Grupa: Zarejestrowani
Postów: 222
Pomógł: 35
Dołączył: 6.02.2005

Ostrzeżenie: (0%)
-----


Nie wiem czy to pomoże ale ja kiedyś też miałem podobny problem. Spróbuj dodać do filtra tą funkcję a powinno zadziałać.
  1.  
  2. /**
  3.  * filtrowanie przy użyciu Propel'a
  4.  */
  5. protected function addPaymentStatusColumnCriteria(Criteria $criteria, $field, $values)
  6. {
  7. if ($q = $values['text'])
  8. {
  9. $criteria->add ('payment_status', $q);
  10. }
  11. }
  12.  


  1.  
  2. /**
  3.  * filtrowanie przy użyciu Doctrine'a
  4.  */
  5. protected function addPaymentStatusColumnQuery(Doctrine_Query $query, $field, $values)
  6. {
  7. if ($q = $values['text'])
  8. {
  9. $query->addWhere($this->getRootAlias().'.payment_status = \''.$q.'\'');
  10. }
  11. }
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 22:30