Development of third-party modules is the backbone of all custom development within SproutCMS.
Typical dev process
A high-level overview of a typical development process would be:
- Use the module builder located within the dev tools to create a skeleton module
- Register the module in config/config.php
- Run a database sync to get the new tables
- Polish the admin area - change field types, set up dropdowns, validation, etc
- Develop front-end controllers and views
Modules are registered by adding the name of the module in the
All modules must have a unique namespace. The namespace must follow the following format:
The final segment of the namespace - the name of the module - is also used as the name of the directory in the modules directory.
Therefore, a blog module produced by the company Acme Inc would use the namespace
SproutModules\AcmeInc\Blogs and the files would be located in the directory
All code within this module would existin within sub-namespaces within this namespace, and the file/directory structure mirrors the namespace layout.
Futher to the above example, a controller in the blogs module would be in the namespace
SproutModules\AcmeInc\Blogs\Controllers and the file would go in the directory