Skip to main content

Plugin Configuration

Plugins should include a config.json file, which defines basic configuration settings for the plugin.

Configuration Format

Example

/plugins/my_plugin/config.json
{
"version": "1.0.0",
"name": "My Plugin Name",
"description": "A plugin like no other!",
"authors": [
{
"name": "Phillips Data, Inc.",
"url": "http://www.blesta.com"
}
]
}

Definition

OptionDescription
versionThe version of the plugin. This should be a semantic version number.
nameThe name of the plugin. This may also be a language definition.
descriptionA brief description of the plugin. This may also be a language definition in Blesta v4.9.0+.
authorsAn array of author objects.

name — The name of the author. This may be a language definition
url — The URL to link to for the author.

logoThe path within the plugin to the logo file. If not set, defaults to views/default/images/logo.png.

Using the Configuration

To use the configuration file you must include it within the constructor of your plugin using the loadConfig() method.

/plugins/my_plugin/my_plugin_plugin.php
<?php
class MyPluginPlugin extends Plugin {
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.

/plugins/my_plugin/my_plugin_plugin.php
<?php
class MyPluginPlugin extends Plugin {
public function __construct() {
Language::loadLang("my_plugin_plugin", null, dirname(__FILE__) . DS . "language" . DS);
$this->loadConfig(dirname(__FILE__) . DS . "config.json");
}
}
?>