Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Kohana][3.1] funkcja odwrotna do URL::title()?
Forum PHP.pl > Forum > PHP > Frameworki
krzywy36
Mam następujący problem, chcę zrobić "opisowe" URL'e do newsów/artykułów. Dotychczas wyświetlałem newsy po id, czyli przykładowo:
Kod
localhost/news/show/32

i z tym nie było problemu, po prostu wybierałem z bazy newsa o id 32.
Teraz chcę zrobić coś takiego: zakładając że news ma tytuł "Jakiś tam przykładowy news!", to link do niego będzie wyglądał tak:
Kod
localhost/news/show/jakis-tam-przykladowy-tytul

przy tworzeniu linków bedę traktował tytuł newsa metodą title klasy URL i mi wyjdzie taki piękny URL, ale, jak w takim razie pobrać takiego newsa z bazy?
W bazie tytuł będzie ciągle zapisany w postaci "Jakiś tam przykładowy news!" a z adresu będe dostawał "jakis-tam-przykladowy-news".
Myślałem nad dodaniem kolejnego pola w bazie w którym trzymałbym już przerobiony tytuł i wtedy nie było by problemu ale może jest jakiś lepszy sposób?
Crozin
Dobrze myślałeś bo tak się to robi. A co do lepszych sposobów to są... do takiego URL-a dodaj jeszcze ID i wybieraj dane tak jak dotychczas.
frani0
to się ogólnie nazywa slug pod tym tematem znajdziesz u wujka google jak to zrobić smile.gif
DeXTeD
Cytat
Myślałem nad dodaniem kolejnego pola w bazie w którym trzymałbym już przerobiony tytuł

IMO alias to najlepszy pomysł, jak by jeszcze go sam generował (dodatkowo dopisywał liczby w razie powtórzeń).
Oczywiście trzeba jeszcze utworzyć odpowiednie indexy w bazie.

PS.
Inflector::humanize()
JoShiMa
Polecam ten wątek o dynamicznym routingu w Kohana 3. Różne koncepcje, które warto rozpatrzyć, szczególnie ostatnia jest bardzo fajna.
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.