nowy_pehapowiec
11.01.2010, 08:50:12
Hej,
jak konstruować przyjazne adresy przy dość rozbudowanych drzewkach sql?
Czy adres:
www.strona.com/pl/produkty/kategoria1/podkategoria3/podpodkategoria8/produkt17
będzie dobry?
Apropo realizacji, do wyświetlenia strony potrzebuje identyfikatorów kategorii, podkategorii, podpodkategorii, produktu. Czyli 1/3/8/17. Problem jest z jednoznaczną zamianą nazw na identyfikatory. Bo nazwy mogą się powtarzać i podpodkategoria8 może mieć taką samą nazwę jak podpodkategoria6. Jak wtedy z takiego adresu ładnego z nazwami otrzymać poprawne identyfikatory, żeby móc wyświetlić odpowiednią stronę?
Jak to się robi?
pozdro
Mustava
11.01.2010, 10:51:40
Może tak? (nadaj kategoriom i podkategoriom id)
www.strona.com/pl/produkty.php?kat=1&podkat=27&podpodkat=8&produkt=17
nowy_pehapowiec
11.01.2010, 11:32:30
Wszystkie kategorie i podkategorie, podobnie jak produkty maja unikalne identyfikatory.
Tylko, że chyba lepiej byłoby mieć adres z nazwami a nie numerkami:
www.strona.com/telewizory/plazmowe/32"/super model ABC1519
zamiast
www.strona.com/1/3/8/17
Tylko, że nazwy nie są unikalne i nie wiem jak sobie z tym poradzić.
pozdro
Crozin
11.01.2010, 12:15:13
Jeżeli produkt może należeć tylko do jednej kategorii to w adresie przekazujesz jego id: /32/telewizory/plazmowe/superModelABC.html
Jeżeli produkt może być w wielu kategoriach to przekazujesz zarówno id kategorii z której otworzono produkt jak i produktu: /32_64/telewizory/plazmowe/superModelABC.html
Przy czym w przypadku tego drugiego zapisu trzeba jeszcze rozważyć sytuację, gdzie link może nie zawierać id kategorii - wtedy trzeba odczytać jego podstawową kategorię czy coś takiego (takie coś może występować wszędzie tam, gdzie dostęp do produktu jest nie przez przeglądanie kategorii: np. jakieś polecane, nowo dodane itp.)
nowy_pehapowiec
11.01.2010, 13:30:35
Crozin jest tak jak napisałem relacja n do n, czyli produkt może być wszędzie. Czy da się jakoś obejść przekazywanie numerów identyfikatorów? Bo z tymi numerami to adresy nie będą ani ładne ani przyjazne. Jakieś pomysły?
Crozin
12.01.2010, 00:44:03
To tylko adres... ma on być przyjazny dla użytkownika, aplikacji, robota Googlea i innych w takiej właśnie kolejności w jakiej wypisałem. Żaden użytkownik nie będzie ręcznie wpisywać tego, a te dodatkowe dwie liczby nie są problemem, a znacząco ułatwiają pracę dla aplikacji. Pod względem SEO jeżeli będzie tam nazwa produktu i ewentualnie ścieżka kategorii też będzie dobrze.
nowy_pehapowiec
12.01.2010, 01:19:28
To może od razu tak:
www.strona.com/1-nazwa_1/3-nazwa_3/8-nazwa_8/17-nazwa_17
albo www.strona.com/1/3/8/17,telewizory/plazmowe/32"/super model ABC1519
Co o tym myślisz? Bo mi najwygodniej byłoby mieć w adresie adres ip produktu w drzewku sql.
Bo jeśli dobrze rozumiem. To przy pomocy mod_rewrite mam jakoś tak zaczarować adresy, żeby mi zniknęły nazwy zmiennych i index.php. I potem już z pozopmu skryptów php mam obrobić adres wyciągając z niego odpowiednie identyfikatory, tak żebym wiedział co wyświetlić? Mniej więcej o to chodzi?
A i jeszcze jedno czym separować? Ukośnik, przecinek, coś innego?
pozdro
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.