Fix plugin settings not showing on non-admin plugins (#2023)

This commit is contained in:
Boy132 2025-12-21 15:36:39 +01:00 committed by GitHub
parent 1d5ace3a6d
commit fef91791c3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -306,11 +306,10 @@ class Plugin extends Model implements HasPluginSettings
public function hasSettings(): bool public function hasSettings(): bool
{ {
try { try {
$pluginObject = filament($this->id); $pluginObject = new ($this->fullClass());
return $pluginObject instanceof HasPluginSettings; return $pluginObject instanceof HasPluginSettings;
} catch (Exception) { } catch (Exception) {
// Plugin is not loaded on the current panel, so no settings
} }
return false; return false;
@ -320,13 +319,12 @@ class Plugin extends Model implements HasPluginSettings
public function getSettingsForm(): array public function getSettingsForm(): array
{ {
try { try {
$pluginObject = filament($this->id); $pluginObject = new ($this->fullClass());
if ($pluginObject instanceof HasPluginSettings) { if ($pluginObject instanceof HasPluginSettings) {
return $pluginObject->getSettingsForm(); return $pluginObject->getSettingsForm();
} }
} catch (Exception) { } catch (Exception) {
// Plugin is not loaded on the current panel, so no settings
} }
return []; return [];
@ -336,13 +334,12 @@ class Plugin extends Model implements HasPluginSettings
public function saveSettings(array $data): void public function saveSettings(array $data): void
{ {
try { try {
$pluginObject = filament($this->id); $pluginObject = new ($this->fullClass());
if ($pluginObject instanceof HasPluginSettings) { if ($pluginObject instanceof HasPluginSettings) {
$pluginObject->saveSettings($data); $pluginObject->saveSettings($data);
} }
} catch (Exception) { } catch (Exception) {
// Plugin is not loaded on the current panel, so no settings
} }
} }