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