request
30.03.2013, 13:27:18
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
30.03.2013, 17:34:37
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
30.03.2013, 18:56:10
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
30.03.2013, 20:16:45
/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
30.03.2013, 20:37:00
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
30.03.2013, 20:41:57
artuross jest jeszcze kwestia SEO. Dlatego warto wpisywać w url tytuł artykułu/kategorii
artuross
30.03.2013, 20:48:04
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?)

W kazdym razie, ma dwa rozwiazania, moze z ktoregos z nich skorzysta.
request
30.03.2013, 21:54:02
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
30.03.2013, 22:20:36
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
31.03.2013, 17:47:28
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
31.03.2013, 19:34:54
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.