Modules in version 3.1+ support the use of a config.json file, that defines basic configuration settings for the module.
Due to backwards compatibility with version 3.0, config.json files are not required but are strongly recommended as they may be required in future versions.
Configuration Format
Example
/components/modules/my_module/config.json
{ "version": "1.0.0", "name": "My Module Name", "description": "A module like no other!", "authors": [ { "name": "Phillips Data, Inc.", "url": "http://www.blesta.com" } ], "service": { "name_key": "service_field_key" }, "module": { "row": "Signular Form of Module Row", "rows": "Plural Form of Module Row", "group": "Module Group Name", "row_key": "module_row_field_key" } }
Definition
Option | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
version | The version of the module. This should be a semantic version number. | ||||||||||
name | The name of the module. This may also be a language definition. | ||||||||||
description | A brief description of the module. Planned for future use. | ||||||||||
authors | An array of author objects.
| ||||||||||
logo | The path within the module to the logo file. If not set, defaults to views/default/images/logo.png. | ||||||||||
service | An object of service settings.
| ||||||||||
module | An object of module settings.
|
Using the Configuration
To use the configuration file you must include it within the constructor of your module using the loadConfig() method.
/components/modules/my_module/my_module.php
<?php class MyModule extends Module { public function __construct() { $this->loadConfig(dirname(__FILE__) . DS . "config.json"); } } ?>
If your configuration uses any language definitions, be sure to include those before loading the config.
/components/modules/my_module/my_module.php
<?php class MyModule extends Module { public function __construct() { Language::loadLang("my_module", null, dirname(__FILE__) . DS . "language" . DS); $this->loadConfig(dirname(__FILE__) . DS . "config.json"); } } ?>