![]() |
![]() |
![]()
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.
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. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1) Rozważyłeś użycie typu ENUM zamiast liczbowego?
2) Czy Option::getPossibleNames('payment_status') zwraca tablicę w postaci: Kod Array ( [1] => 'Gotówka', [2] => 'Karta kredytowa', ... ) 3) Jak rozumiem walidator "Pass" jest tylko chwilowy? |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za zainteresowanie tematem. Odpowiadając na Twoje pytania:
ad 1) Propel zdaje się nie wspiera obecnie pól typu enum (chociaż mogę się mylić, bo dawno już nie czytałem dokumentacji). ad 2) Tak dokładnie taką tablicę zwraca - jest to moja klasa do obsługi statusów konfigurowanych w plikach konfiguracyjnych. ad 3) Tak tylko chwilowo na fazę testów. Dodatkowo dodam, że po przesłaniu filtra z wybraną płatnością np. kartą, po odświeżeniu strony w filtrze nadal wybrana jest karta (czyli działa poprawnie) - "jedyne" co dzieje się źle, to to, że lista zamówień nie jest filtrowana zgodnie z wyborem. |
|
|
![]()
Post
#4
|
|
![]() 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ć.
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Dzięki Ci dobry człowieku. To rozwiązuje mój problem.
Mogli by to dać w dokumentacji, bo walczyłem z tym godzinę próbując różnych rozwiązań z forum symfony. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 332 Pomógł: 6 Dołączył: 13.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
W jakim pliku dodać ten kod? Gdzie jest klasa Option? |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Kod należy dodać w pliku zawierającym, podaną klasę. Może się to u Ciebie różnić, szczegółów nie podam ponieważ nie znamy Twojej aplikacji.
Klasa Option najprawdopodobniej jest gdzieś @down: athabus - wybacz tą nieprecyzyjność. Jestem gotów poddać się karze. Ten post edytował destroyerr 22.06.2010, 12:47:14 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
destroyerr - niestety udzielasz nieprecyzyjnych informacji - niedawno wyprowadziłem się pod miasto, ale jeszcze nie zaktualizowałem profilu ;-)
Ale tak serio to klasa Option to faktycznie moja klasa, która służy do obsługi "mini tabel" - czyli wszystkich statusów, stanów i innych rzeczy, które zazwyczaj definiuje się w każdej aplikacji. Po prostu obsługuje ona te statusy/opcje definiowane w pliku konfiguracyjnym. W tym konkretnym przypadku zwraca ona tablicę typu: {1=>'gotówka', 2=>'karta kredytowa ...}, której wymaga widget select. Sam kody, który podałem ja i później arecki należy umieścić w odpowiedniej klasie definiującej formularz filtru, który chcesz zmienić. Podaj konkretnie z czym walczysz to powiemy Ci co z tym zrobić. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 10:05 |