Plugin definition

Plugin definition - plugin.json

All information about your plugin is defined in a plugin.json file. This file defines the service provider of your plugin, which will be called by plentymarkets to register and run your plugin.

Further reading

PluginXY/plugin.json
{
    "name"              : "PluginXY",
    "namespace"         : "PluginXY",
    "type"              : "template",
    "version"           : "1.0.0",
    "isClosedSource"    : "Determines if your plugin is closed source or open source",
    "pluginIcon"        : "The plugin icon",
    "description"       : "The description for your plugin",
    "author"            : "Your name",
    "authorIcon"        : "The author icon",
    "email"             : "Your email address",
    "phone"             : "Your phone number",
    "serviceProvider"   : "XY\\Providers\\TemplateServiceProvider",
    "containers"        : [],
    "dataProviders"     : [],
    "javaScriptFiles"   : [],
    "require"           : [],
    "dependencies"      : [],
    "runOnBuild"        : []
}
Property Description
name The name of your plugin. Must be the same as the root namespace of the plugin. May only contain one level.
The name must not contain spaces or special characters, must start with a character and must be written in UpperCamelCase.
Finally, the name must be different from the names of all plugins on plentyMarketplace. required
namespace Same as name. required
type The type of your plugin. The following plugin types are available: required
  • general: type for general plugins
  • template: type for frontend plugins
  • theme: type for theme plugins
  • export: type for new export formats
  • payment: type for payment plugins
  • backend: type for back end plugins
  • shipping: type for shipping plugins
  • widget: type for widget plugins
  • integration: type for integration plugins
version The version of your plugin. Semantic versioning is used for plentymarkets plugins. The MAJOR.MINOR.PATCHformat must be used. required
isClosedSource The value of this field must be of type bool.
True: Makes the plugin code invisible to all customers who buy the plugin (closed source).
False: Makes the plugin code visible to all customers who buy the plugin (open source).
  If no value is specified, the default value is set to false. optional
pluginIcon The file name of the plugin icon, including the file format of the plugin icon, e.g. icon_plugin_xs.png required
description The description text for your plugin. The description text is displayed in the plentymarkets back end. required
author The author of the plugin required
authorIcon The file name with file format of the author icon, e.g. icon_author_xs.png required
email The email address of the author for support issues. The email is displayed in the contact information of the plugin in the plentymarkets back end. optional
phone The phone number of the author for support issues. The phone number is displayed in the contact information of the plugin in the plentymarkets back end. optional
serviceProvider The service provider to hook-up optional
containers An array of containers optional
dataProviders An array of data providers optional
javaScriptFiles An array of JavaScript files. The file name and file format must be specified. optional
require An array or object of dependencies of other plugins including required version, e.g. "IO" : "~1.6.0". The following operators are allowed:
  • >
  • >=
  • <
  • <=
  • !=
  • ~: Describes a range of versions. For example, ~1.2.3 is the same as >=1.2.3 <1.3.0.
When providing version requirements, use the MAJOR.MINOR.PATCH format. optional
dependencies An array of dependencies of external SDKs. The external source must be published on Packagist. optional
runOnBuild An array of classes to be executed once when the plugin is deployed optional

Is this article helpful?

 

Thank you for your Feedback

you can close this field now!