![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 194 Pomógł: 2 Dołączył: 12.04.2004 Skąd: Częstochowa Ostrzeżenie: (10%) ![]() ![]() |
Laravel 5.1
Nadziobałem własny routing pozwalający na użycie pełnych slugów: adres strona.pl/to-jest-jakis-tam-slug wywołuje odpwiadający slugowi kontroler akcji parametry. efekty uzyskałem poprzez middleware-a. Wszystko działa fajnie ale jest jeden poważny problem. Jeśli nie ma zdefiniowanego routingu w bazie uzyte w middleware return $next($request); nie powoduje szukania w innych regułach routingu (np cześć administracyjna w ścieżce /admin ) tylko wyświetla pustą stronę. Czy wiecie może jak można poradzić sobie z tym problemem? Np czy jest jakiś parametr dający możliwość dodania wykluczeń do danej reguły routingu? Ktoś? Coś? Plik middlewarea:
zawartość pliku route.php dla tego routingu
Ten post edytował dado 5.01.2016, 14:43:15 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Da się zrobić. ale z racji tego że używasz tego Slug w Module to pliki routingu sa ładowane po kolei (Wpierw z globalnego routes.php potem z Modeli pewnie wg jakiegoś tam schematu).
Wynika to z kolejności wczytywania. Możesz albo zostawić tak jak masz albo ustawić ServiceProvider tak aby globalny routes.php wczytywał sie ostatni (po ModulesServiceProvider) i tam na koniec wpakować tego Slug. Oczywiście okraszając go odpowiednim namespace. @phpion tutaj to nie zadziała, bo url pasuje do patternu Slug więc go wykonuje. nie przejdziesz dalej. Trzeba by było poszukać czy da się oszukać tak aby właśnie puścił po braku w bazie. Wtedy miejsce deklaracji mogłoby być dowolne. Ten post edytował Pyton_000 7.01.2016, 13:11:48 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 17:59 |