![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 159 Pomógł: 0 Dołączył: 21.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Pytanie dotyczy zagadnienia routingu w SF 2.
Czy jest mozliwosc ustawienia adresow url dla kategorii, marek i produktow w taki sposob, aby byly one w formacie: http://nazwadomeny/{slug} w ramach 3 roznych kontrolerow, tak jak na ponizszym listingu?
Ten post edytował swiezak 14.01.2016, 13:01:17 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 623 Pomógł: 144 Dołączył: 22.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
A jak chcesz rozróżniać te slugi? Bo "jakasnazwa" może byc kategorią lub np., produktem
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Symfony2 pod tym względem działa fajnie, jak nie znajdzie w 1. to lecie do drugiego itd. Także musisz tylko sobie założyć unikalność nazw i możesz stosować taki routing.
|
|
|
![]() ![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 159 Pomógł: 0 Dołączył: 21.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
W tej chwili podane przeze mnie dyrektywy w routing.yml probowalem wcielic w zycie, ale SF 2 buntuje sie.
Gdy system napotka na adres w stylu: http://nazwadomeny/adidas (nazwa marki) jest ok, ale gdy wpisze kolejny adres http://nazwadomeny/buty-sportowe (nazwa kategorii) routing sie wysypuje i zwracane jest 404. Jak temu zaradzic? Nazwy sa unikalne, ale te dwa kontrolery (od marki i kategorii) "gubia sie". |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Takie rozwiązanie jest mówiąc prostymi słowami - co najmniej nierozsądne.
Raz że narażasz się na konflikty nazw, dwa że nawet jakieś roboty indeksujące itp. będą miały problem z rozróżnieniem co jest czym. Ale rozumiem, że robisz to po to, zeby zrobić innemu programiście na złość (ewentualnie sobie). Możesz w takim przypadku po prostu zrobić jeden routing na wzorzec /{slug}, i w kontrolerze po kolei sprawdzać czy istnieje taki produkt / kategoria / ... / else 404, a następnie robić forward() do innej akcji. -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 159 Pomógł: 0 Dołączył: 21.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Url'e z ujednoliconym parametrem {slug} nie sa moim wymyslem. To odgorna decyzja szefostwa.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zmień miejsce pracy
![]() -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]() ![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 159 Pomógł: 0 Dołączył: 21.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Miejsce pracy mozna zawsze zmienic, ale czy to sie bedzie oplacac to juz inna sprawa ;-)
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli nie ma żadnego wzorca, który pozwalałby na rozróżnienie czy mamy do czynienia z zasobem typu A, B czy C nie ma raczej innej możliwości niż ta, o której wspomniał @pyro, tj. jeden routing do akcji, która próbuje pobrać zasób A, B lub C na podstawie sluga, a następnie robi forwarda do odpowiedniego kontrolera.
|
|
|
![]() ![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 159 Pomógł: 0 Dołączył: 21.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki Panowie za podpowiedź.
Pozdrawiam. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 23.06.2025 - 09:34 |