Files and directory structure
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.
Post-install actions
check all files list and sizes
run install process