Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Własny routing url - proszę o wskazówki
Forum PHP.pl > Forum > Przedszkole
request
Witam,
Napisałem w pełni strukturalnie stronę w php i mysql. Mam na niej listy kategorii(podrzędnych), artykuły z wybranej kategorii, pojedynczy artykuł, oraz profile.
Nie wiem co zrobić z adresami URL. Nie chciałbym, niepotrzebnych śmieci - typu slug/kategoria, slug/artykuly, slug/artykul, itd.
Niektóre systemy CMS zapisują w bazie, że slug blalal to artykuły z kategorii, a slug hhahaha to lista kategorii. Ale co w przypadku gdy z listy kategorii chcę przejść do artykułów, albo do pojedynczego? Macie jakieś propozycje? Bardzo proszę o pomoc
artuross
Tak sie nie da mowiac najprosciej, poniewaz nazwa profilu moze byc taka sama jak nazwa artykulu i co wtedy? Podaj konkretne przyklady, dla ktorych ma dzialac, poza tym nie podales jakiegokolwiek punktu od ktorego mozna zaczac, jakie parametry sa przekazywane... gdzie, co i jak?
request
Dobra - profile odpadają.
a co w przypadku artykułów i pojedynczego artykułu?
Cały ruch jest kierowany do index.php - tam jest też szablon html. adres url to aliasy (kategorii, artykułu, itd).
Zastanawiam się jak jest to rozwiązane w Joomla. tam kategorie, artykuły, i pojedynczy artykuł nie mają nic w adresie oprócz aliasów i ewentualnie id.
Zależy mi na tym aby adresy były jak najkrótsze.
CuteOne
/artykuly/lista
/artykuly/id_kategorii,nazwa_kategorii
/artykul/id_artykulu,tytul_artykulu

id to właściwy parametr na którym powinieneś się opierać - patrz forum.php.pl
http://forum.php.pl/MySQLPHPWlasny_routing...ze_o_wskazowki_t215292.html
artuross
Ja mysle, ze powinienes zastosowac cos ala system klas ze struktury MVC przy czym oczywiscie zastosowac to do siebie.
Wiec tak, wchodzisz na /artykuly/, wyswietla Ci sie lista artykulow, wchodzisz na wchodzisz na /kategorie/id wyswietla Ci sie kategoria o danym ID, wchodzisz na /artykuly/id, wyswietla Ci sie kolejny (o takim ID) artykul
CuteOne
artuross jest jeszcze kwestia SEO. Dlatego warto wpisywać w url tytuł artykułu/kategorii
artuross
Fakt, to prawda, ale jesli chodzi o SEO, to zupelnie inna kwestia, poza tym, jezeli w tresci znajdzie sie wystarczajaco slow kluczowych, link nie ma zadnego znaczenia, a czym krotszy link, tym bardziej "lubi" Cie Google (oczywiscie to mala skladowa), kolejne poza tym, krotsze linki = latwiej zapamietac /artykul/25 niz /artykul/dlaczego_krowy_daja_mleko_,t25
Mysle, ze nie bedziemy tutaj wdawali sie dyskusje co jest lepsze, bo SEO jest tak rozleglym zagadnieniem, ze mozna spokojnie poswiecic temu dzial (z reszta, na forum chyba jest?) smile.gif
W kazdym razie, ma dwa rozwiazania, moze z ktoregos z nich skorzysta.
request
Dziękuję za odpowiedzi. a czy możecie mi wytłumaczyć jak taka Joomla rozpoznaje co ma wyświetlić? przecież w adresie nie ma słowa category, articles, article, itd.
artuross
Pokaz adres i powiedz co wyswietla, ale generalnie sprawdz czy w adresie nie ma np. czegos takiego t2456456, albo k232 (t moze oznaczac watek, k dla przykladu kategorie), a moze ma slugi?
request
Jeśli chodzi o budowę:
domena.pl/2-uncategorised/ - wyświetla arty z kategorii Uncategorised.
domena.pl/2-uncategorised/2-hej.html - wyświetla artykuł Hej.

Natomiast gdy dodatkowo ustawie pozycje menu o nazwie Lista, która wyświetla kategorie podrzędne - czyli domena.pl/lista.html
domena.pl/lista/2-uncategorised.html - wyświetla arty z kategorii Uncategorised.
domena.pl/lista/2-uncategorised/2-hej.html - wyświetla artykuł Hej.

czyli wyglądało by, że skrypt dzieli $_SERVER['REQUEST_URI'] na '/' - gdy jest tylko jeden element wyświetla artykuły z kategorii, a jeśli jest też drugi wyświetla artykuł. Natomiast gdy w tabeli menu tworzę pozycję menu pokazującą kategorie podrzędne = element 0 wyświetla kategorie podrzędne, 1 - wyświetla jedną z podkategorii , a element 2 artykuł. Zastanawia mnie dlaczego w adresie nie ma nic co wskazuje na komponent com_contents. Oczywiście w zwykłym adresie url jest zawarta nazwa komponentu.
artuross
Jesli sie nie myle to Joomla jest napisana w OOP, a jesli jest napisana w OOP to dziala na pewno na czyms a'la MVC, ale chodzi o to, ze zapewne (nie znam Joomli, wiec nie moge powiedziec na pewno) ma jakas klase definiujaca jak adresy URI odnosza sie do poszczegolnych klas, a w wyniku przechodzac pod /2-uncategorised/ przechodzisz do jakies klasy, ktora odpowiada za wyswietlanie kategorii.
Polecam obejrzec na YT serie tutoriali tworzenia frameworka MVC na kanale JREAMDesign (albo samo JREAM) - swietnie wyjasnia o co w tym chodzi.
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.