The component folder can contain the following subfolders and files:
- subfolder help that contains component help files. This folder contains subfolders named by the language abbreviation. Each language folder must have a file index.php, which is the main help file for the corresponding language. For example, the path name of the english help file can be /help/en/index.php. The help files should describe the structure of an array in which the component returns data to the template. The subfolder help is optional.
- subfolder install that contains installation and uninstallation scripts. The installation script name is install.php, and the uninstallation script is uninstall.php. The subfolder install is optional.
- subfolder lang containing component messages. The subfolder names are the abbreviations of languages in which the text messages are stored. A good practice is to save a text message file under the same name as a corresponding file of the component, and store it in the same folder hierarchy. For example, the file with english messages for /install/uninstall.php is to be saved in /lang/en/install/uninstall.php. The lang folder is optional if the component does not use language-dependent messages.
- subfolder templates in which the component view templates are stored. The subfolder templates is optional if the component has no view templates.
- file component.php containing the component logic. This file must exist.
- file .description.php, which contains the name and the description of the component. Additionally, it describes the component disposition in the visual editor component pane. This file must exist.
- file .parameters.php, which contains the description of the component input parameters for the visual editor. This file must exist if the component uses input parameters.
- any other folders and files containing the resources required by the component, for example: the folder images.