Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Apache/wordpress] Jak uzyskać /wartosc/wartosc/
tworas
post
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ć?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
wolguy
post
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
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 20:30