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@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@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, function () {
        return new \App\Http\Controllers\Web\DirController(
            new \N1ebieski\IDir\Http\Controllers\Web\DirController
        );
    });
    Zachowujemy wówczas cały stack middlewarów, jak również pozostałe ustawienia.
  • stworzyć własny route w routes/web.php pod tym samym name. Konfiguracja routingu aplikacji nadpisze wówczas konfigurację iDir. Należy wówczas samodzielnie podpiąć odpowiednie middlewary.

Dostęp do routów panelu administracyjnego

Routy panelu administracyjnego można opublikować poleceniem:

php artisan vendor:publish --tag=idir.routes.admin


Po wykonaniu zmian w konfiguracji routingu należy ponownie wykonać cache poleceniem:

php artisan route:cache