diff --git a/src/Resources/Pages/Page.php b/src/Resources/Pages/Page.php index b1015521a3..e5be314e3c 100644 --- a/src/Resources/Pages/Page.php +++ b/src/Resources/Pages/Page.php @@ -12,6 +12,11 @@ class Page extends \Filament\Pages\Page public static $resource; + public static function generateUrl($parameters = [], $absolute = true) + { + return route(static::getResource()::getRouteNamePrefix() . '.' . static::getResource()::getSlug() . '.' . static::route()->name, $parameters, $absolute); + } + public static function getModel() { return static::getResource()::getModel(); diff --git a/src/Resources/Resource.php b/src/Resources/Resource.php index 0f1bce4e97..9b14740ace 100644 --- a/src/Resources/Resource.php +++ b/src/Resources/Resource.php @@ -39,7 +39,7 @@ class Resource $name = static::router()->getIndexRoute()->name; } - return route(static::$routeNamePrefix . '.' . static::getSlug() . '.' . $name, $parameters, $absolute); + return route(static::getRouteNamePrefix() . '.' . static::getSlug() . '.' . $name, $parameters, $absolute); } public static function getIcon() @@ -88,6 +88,11 @@ class Resource return (string) Str::plural(static::getLabel()); } + public static function getRouteNamePrefix() + { + return static::$routeNamePrefix; + } + public static function getSlug() { if (static::$slug) {