![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 8.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Powiedzmy, że mam sklep z produktami oraz atrybuty tych produktów:
- kolor - rozmiar Zapytanie wyświetlające wszystkie produkty wygląda tak: Kod index.php?post_type=product Zapytanie wyświetlające: - kolor np czerwony: Kod index.php?post_type=product&pa_color=czerwony - kolor np czerwony i czarny Kod index.php?post_type=product&pa_color=czerwony+czarny - rozmiar 20 Kod index.php?post_type=product&pa_size=20 - rozmiar 20 i kolor czarny Kod index.php?post_type=product&pa_color=czerwony&pa=size=20 - kolor czarny i czerwony oraz rozmiar 20 Kod index.php?post_type=product&pa_color=czerwony+czarny&pa=size=20 chciałbym utworzyć do tego ładne linki odpowiednio: Kod /czerwony/ /czerwony+czarny/ /20/ /czarny/20/ /czarny+czerwony/20/ według zasady powinno to wyglądać mniej wiecej tak: Kod index.php?post_type=product&pa_color=czerwony => /([^/]*)/ index.php?post_type=product&pa_color=czerwony&pa=size=20 => /([^/]*) /([^/]*)/ no i to mi działa ok, ale jak rozróżnić zapytanie o rozmiar Kod index.php?post_type=product&pa_size=20 => /([^/]*)/ w tym momencie robi się konflikt, ponieważ już zapytanie o kolor posiada taki przypis Macie jakieś rady, jak to rozwiązać? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 219 Pomógł: 10 Dołączył: 9.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Możesz to zrobić na dwa sposoby: rozmiar filtrować wyrażeniem regularnym [0-9] a kolory jako [a-z] lub drugie wyjście, takie jakie jest we frameworkach, np. tak:
/kolor/czerwony+czarny/size/20, /size/20, /kolor/czerwony |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 20:30 |