diff --git a/app/Models/Plugin.php b/app/Models/Plugin.php index e28b5d274..16a0c53b3 100644 --- a/app/Models/Plugin.php +++ b/app/Models/Plugin.php @@ -319,11 +319,12 @@ class Plugin extends Model implements HasPluginSettings public function hasSettings(): bool { - $class = $this->fullClass(); - if (class_exists($class)) { + try { $pluginObject = filament($this->id); return $pluginObject instanceof HasPluginSettings; + } catch (Exception) { + // Plugin is not loaded on the current panel, so no settings } return false; @@ -334,13 +335,14 @@ class Plugin extends Model implements HasPluginSettings */ public function getSettingsForm(): array { - $class = $this->fullClass(); - if (class_exists($class)) { + try { $pluginObject = filament($this->id); if ($pluginObject instanceof HasPluginSettings) { return $pluginObject->getSettingsForm(); } + } catch (Exception) { + // Plugin is not loaded on the current panel, so no settings } return [];