ichbin/filament-settings

There is no license information available for the latest version (v3.0) of this package.

Manage your settings in filament for spatie/valuestore

v3.0 2023-07-30 20:20 UTC

This package is auto-updated.

Last update: 2024-03-30 00:28:55 UTC


README

img

This package allows for easy setting management using

Spatie's ValueStore package

Spatie's Generate sitemaps package

Content of the configuration file

return [
    // Group the menu item belongs to
    'group' => 'Settings',
    // Sidebar label
    'label' => 'Settings',
    // Path to the file to be used as storage
    'path' => storage_path('app/settings.json'),
];

Installation

  1. Require the package
composer require ichbin/filament-settings "^v2.0"
  1. publish the configuration file
php artisan vendor:publish --tag=filament-settings-config
  1. (Optionally) you can publish the views for the page and the view used by the livewire component
php artisan vendor:publish --tag=filament-settings-views

Usage

Define your fields by adding the following in the boot method of your AppServiceProvider

\IchBin\FilamentSettings\FilamentSettings::setFormFields([
    \Filament\Forms\Components\TextInput::make('title'),
]);

After that you can access your values as you usually would using spatie/valuestore

Or in blade

{{ setting('key') }}

Hiding the page for users

To hide the Settings page from some users add a canManageSettings method to your User model.

public function canManageSettings(): bool
{
    return $this->can('manage.settings');
}

By default the page will be shown to all users.