Skip to content

visual-ideas/laravel-seoable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Easy laravel cached settings

Easy laravel cached settings (stored in MYSQL) package with MoonShine Laravel Admin GUI

Latest Version on Packagist Total Downloads

Installation

You can install the package via composer:

composer require visual-ideas/laravel-seoable

You must run the migrations with:

php artisan migrate

You can publish the config file with:

php artisan vendor:publish --provider="VI\LaravelSeoable\LaravelSeoableProvider" --tag="config"

This is the contents of the published config file:

return [
    'cache_key' => env('LSS_CACHE_KEY','laravel_site_settings_data'),
];

Usage

You can use this package as default laravel config() function!

function settings($key = null, $default = null)
{
    if (is_null($key)) {
        return app('Settings')->all();
    }

    if (is_array($key)) {
        return app('Settings')->set($key);
    }

    return app('Settings')->get($key, $default);
}

or Blade directive @settings

@settings('group.setting')

For PHPStorm you can set this blade directive with This instruction

or as part of native Laravel config()

@config('settings.group.setting')

Not working in console!

Update settings

You can use models VI\LaravelSeoable\Models\SettingGroup and VI\LaravelSeoable\Models\Setting

or set settings values with the settings() function:

settings(['group.setting' => 'Value']);
settings(['setting' => 'Value']);

Usage with MoonShine Laravel Admin

Please see MoonShine

You can publish two MoonShine Resources with command:

php artisan vendor:publish --provider="VI\LaravelSeoable\LaravelSeoableProvider" --tag="moonshine"

and use them in your MoonShine admin panel, like this:

MenuGroup::make('Settings', [
    MenuItem::make('Settings', SettingResource::class)->icon('app'),
    MenuItem::make('Settings groups', SettingGroupResource::class)->icon('app'),
])->icon('app'),

Seeding settings

I recommend saving the settings in the seeders using the orangehill/iseed package:

php artisan iseed setting_groups,settings

But you can use seeder or migration to set your settings

settings([
    ['group.setting1' => 'Value1'],
    ['group.setting2' => 'Value2'],
    ['group.setting3' => 'Value3'],
    ['setting1' => 'Value4'],
    ['setting2' => 'Value5'],
    ['setting3' => 'Value6'],
    ['setting4' => 'Value7'],
    ['setting5' => 'Value8']
]);

Credits

License

The MIT License (MIT). Please see License File for more information.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages