All Extensions are located in extensions folder. Bellow is the set of files and directories that represent one extension.
extensions - All Extensions are located in extensions folder.
- [extension unique name]
- config.xml - Required configuration xml file with settings for given extension.
- main.php - Required file that contain init instructions for extension.
- admin - admin directory structure and contain files for admin section (directory structure under this directory resembles main admin directory for AbanteCart)
- storefront - storefront directory structure and contain files for storefront section (directory structure under this directory resembles main storefront directory for AbanteCart)
- core - directory that contain some core addon classes that implement additional functionality ( if needed )
- install.sql - optional file that contain SQL instructions for extension install
- uninstall.sql - optional file that contain SQL instructions for extension uninstall
- install.php - optional file that contain PHP code for extension installation proces.
- uninstall.php - optional file that contain PHP code for extension uninstall process
Note: you can use PHP or SQL or mixed depending on the requirements.
Pre-install actions - validation
Extensions are installed in control panel from Extension Manager section. Before installation there following checks are performed:
- check available space
- is extensions directory writable
- was extension already installed ( extension upgrade )
- does extension support used core version
- does hosting support all php modules used by extension
- does extension override some controllers/ template files that already overridden by another extension. if two or more extensions override completely same files there will be a conflict, so high priority extension will be used. But, there will be warning in the install about conflict.
- check all files list and sizes
- run install process