dimti/bettersettings-plugin

Behaviour for OctoberCMS settings model with default values

dev-master 2021-11-14 09:55 UTC

This package is not auto-updated.

Last update: 2024-05-27 20:04:08 UTC


README

You love place of data in OctoberCMS settings model.

And you have default values from your site layout.

Use this package for resolve default values from setting model fields

How to use

First installing this plugin

composer require dimti/bettersettings-plugin

Second - redefine behaviour in you settings model

Change

Settings extends model {
...

    public $implement = ['System.Behaviors.SettingsModel'];

...
}

To:

Settings extends model {
...

    public $implement = [\Dimti\BetterSettings\Behaviours\BetterSettings::class];

...
}

Or to:

...

use Dimti\BetterSettings\Behaviours\BetterSettings;

...

Settings extends model {
...

    public $implement = [BetterSettings::class];

...
}

And define variable $defaults in your setting model class.

You can also define constants for better readable values and use autocomplete in your IDE

use Dimti\BetterSettings\Behaviours\BetterSettings;

class Settings extends Model
{
    const SEZNAM_CID = 'seznam_cid';

    const PDF_PHONE_ONE = 'pdf_phone_one';

    const PDF_PHONE_TWO = 'pdf_phone_two';

    const PDF_PHONE_THREE = 'pdf_phone_three';

    public $defaults = [
        self::SEZNAM_CID => '100000000',
        self::PDF_PHONE_ONE => '+420 603 603 603',
        self::PDF_PHONE_TWO => '+420 723 723 723',
    ];

    public $implement = [BetterSettings::class];

    // A unique code
    public $settingsCode = 'vendor_someplugin_settings';

    // Reference to field configuration
    public $settingsFields = 'fields.yaml';
}