Filament Plugins

Purchase

Redirecting

You can deep-link to the Media Library page so that, on load, it opens directly inside a specific folder, or with a specific file selected in the file-info panel. This is useful when redirecting from another part of your app (e.g. "Manage media" buttons on a record) directly to the relevant location in the library.

The page reads two query parameters on mount:

Parameter Purpose
`folder` Opens the library inside the given folder.
`file` Opens the library inside the file's parent folder and pre-selects the file in the file-info panel.

If a scoped folder is configured and the requested file or folder lives outside it, the page returns a 404. View authorization is also evaluated against the requested file.

Generating the URL

Use MediaLibrary::getUrl() and pass the appropriate query parameter. The value is the file's or folder's key — it can be obtained from a driver-resolved FileData via $file->getKey(), or constructed manually using the formats below.

php
use RalphJSmit\Filament\MediaLibrary\Filament\Pages\MediaLibrary;

// Redirect to a folder
$url = MediaLibrary::getUrl(['folder' => $folderKey]);

// Redirect to a file (opens its parent folder and selects the file)
$url = MediaLibrary::getUrl(['file' => $fileKey]);

Key formats per driver

The query value is the driver's raw key string. Each driver uses a different format:

Driver `folder` value `file` value
Media Library Item `media-library-folder:{id}` (e.g. `…:5`) `media-library-item:{id}` (e.g. `…:12`)
Spatie Media Library `collection:{name}` (or composite virtual-folder key) `media:{id}` (Spatie `media.id`)
Storage/disk `folder:{relative/path}` `file:{relative/path/to/file.jpg}`

For example, to open folder id = 5 with the Media Library Item driver:

php
MediaLibrary::getUrl(['folder' => 'media-library-folder:5']);
// {panel}/media-library?folder=media-library-folder%3A5

And to pre-select a file by path with the Storage/disk driver:

php
MediaLibrary::getUrl(['file' => 'file:images/photo.jpg']);
// {panel}/media-library?file=file%3Aimages%2Fphoto.jpg

The simplest way to obtain the key for an existing FileData is to call $file->getKey() directly — that returns the exact value to pass into the query parameter, regardless of the active driver.

© FilamentPlugins.com ✦ 2022 – 2026
PrivacyTerms & Conditions
All rights reserved.