PHP code example of damodar-bhattarai / filament-settings

1. Go to this page and download the library: Download damodar-bhattarai/filament-settings library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

damodar-bhattarai / filament-settings example snippets


use DamodarBhattarai\FilamentSettings\FilamentSettingsPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        // ... your other configuration
        ->plugins([
            FilamentSettingsPlugin::make(),
        ]);
}

// Get a single setting value
$siteName = settings('site_name');

// Get with a default fallback
$logo = settings('logo', 'default-logo.png');

// Get all settings as a collection
$all = settings();

FilamentSettingsPlugin::make()
    // Navigation
    ->navigationIcon('heroicon-o-cog-6-tooth')
    ->navigationGroup('Settings')
    ->navigationLabel('App Settings')
    ->navigationSort(100)

    // Page
    ->pageTitle('App Settings')
    ->slug('app-settings')

    // Authorization
    ->canModifyFields(true)

FilamentSettingsPlugin::make()
    ->canModifyFields(fn () => auth()->user()->hasRole('super_admin'))

use Illuminate\Support\Facades\Gate;

Gate::define('modify-settings-fields', function ($user) {
    return $user->hasRole('admin');
});

'can_modify_fields' => true,

use DamodarBhattarai\FilamentSettings\FilamentSettingsPlugin;

// Disable modify mode
FilamentSettingsPlugin::get()->canModifyFields(false);

// Enable conditionally
FilamentSettingsPlugin::get()->canModifyFields(
    fn () => app('some-package')->allowsSettingsModification()
);

// config/filament-settings.php

'default_settings' => [
    'general' => [
        'label' => 'General',
        'icon' => 'heroicon-o-home',
        'sort' => 1,
        'settings' => [
            [
                'key' => 'site_name',
                'type' => 'text',
                'label' => 'Site Name',
                'value' => 'My Website',
            ],
            [
                'key' => 'maintenance_mode',
                'type' => 'switch',
                'label' => 'Maintenance Mode',
                'value' => false,
            ],
            // Add more settings...
        ],
    ],
    // Add more tabs...
],
bash
php artisan vendor:publish --tag="filament-settings-config"