Routing
Jeśli z jakichś przyczyn nie masz dostępu do routingu iDir, możesz opublikować odpowiednie pliki poleceniem:
php artisan vendor:publish --tag=idir.routes.web
Konfiguracja routingu dostępna jest z poziomu folderu:
/routes/vendor/idir/
# Zmiana wyglądu routów
Każdy route można dostosować do swoich potrzeb. Zmienić nazwę identyfikatora lub slash na myślnik. Przykład:
// https://adres-strony.pl/dirs/nowy-wpis
Route::match(['get', 'post'], 'dirs/{dir_cache}', [DirController::class, 'show'])
->name('dir.show')
->where('dir_cache', '[0-9A-Za-z,_-]+');
można zamienić na:
// https://adres-strony.pl/katalog-nowy-wpis
Route::match(['get', 'post'], 'katalog-{dir_cache}', [DirController::class, 'show'])
->name('dir.show')
->where('dir_cache', '[0-9A-Za-z,_-]+');
# Przekierowanie route na własny kontroler
Jeśli chcemy zmienić logikę aplikacji pod aktualnymi routami należy:
- za pomocą Laravel Service Container zbindować nowy kontroler (połączony wzorcem Dekorator lub dziedziczeniem) pod stary namespace Przykład:
$this->app->bind(\N1ebieski\IDir\Http\Controllers\Web\DirController::class, \App\Http\Controllers\Web\DirController::class);
- zmodyfikować wybrany route w odpowiednim pliku w lokalizacji routes/vendor/idir przekierowując go na własny kontroler. Konfiguracja routingu aplikacji nadpisze wówczas konfigurację iDir.
W obu przypadkach zachowujemy cały stack middlewarów, jak również pozostałe ustawienia.
# Dostęp do routów panelu administracyjnego
Routy panelu administracyjnego można opublikować poleceniem:
php artisan vendor:publish --tag=idir.routes.admin
# Dostęp do routów API
Routy API można opublikować poleceniem:
php artisan vendor:publish --tag=idir.routes.api
# Zmiana prefixu grup routów
Prefix ("subfolder" w adresie) każdej grupy routów można zmienić z poziomu pliku .env w głównym folderze z aplikacją:
IDIR_ROUTES_WEB_PREFIX=
IDIR_ROUTES_ADMIN_PREFIX=admin
IDIR_ROUTES_API_PREFIX=api
Przykładowo zmieniając prefix dla adresów panelu administracyjnego na losowy ciąg liter i cyfr:
IDIR_ROUTES_ADMIN_PREFIX=fds78fs67dc
adres dostępowy panelu administracyjnego i wszystkich jego podstron zmieni się na:
https://adres-strony.pl/fds78fs67dc
# Wyłączanie grup routów
Poszczególne grupy routów można wyłączyć z poziomu pliku config/idir.php ustawiając zmienną enabled:
'routes' => [
'web' => [
'enabled' => false
],
Po wykonaniu zmian w konfiguracji routingu należy ponownie wykonać cache poleceniem:
php artisan route:cache