Skip to content

totalcms/extension-starter

Repository files navigation

Total CMS Extension Starter

A template for building Total CMS extensions. Clone this repo, rename it, and start building.

What's Included

This starter demonstrates every extension point:

Feature File Description
Twig function Extension.php starter_greet() function
Twig filter Extension.php reverse_words filter
CLI command src/Command/GreetCommand.php tcms acme:greet
Admin page src/Action/DashboardAction.php Page at /ext/acme/starter/dashboard
Admin nav Extension.php Sidebar link to the dashboard
Dashboard widget templates/widgets/starter.twig Widget on admin home
Event listener Extension.php Logs object create/update events
Read-only schema schemas/starter-items.json Example collection schema (Pro+)
Settings settings-schema.json Configurable greeting message

Getting Started

  1. Clone this repo into your T3 extensions directory:
cd tcms-data/extensions/
mkdir your-vendor
cd your-vendor
git clone https://github.com/totalcms/extension-starter.git your-extension
cd your-extension
  1. Update extension.json with your extension's ID, name, and details:
{
    "id": "your-vendor/your-extension",
    "name": "Your Extension"
}
  1. Update the PHP namespace in composer.json and all PHP files:
"autoload": {
    "psr-4": {
        "YourVendor\\YourExtension\\": "src/"
    }
}
  1. Install dependencies and generate the autoloader:
composer install
  1. Enable the extension:
tcms extension:enable your-vendor/your-extension
  1. Delete the parts you don't need and start building.

Directory Structure

your-extension/
    extension.json          # Manifest (required)
    Extension.php           # Entry point (required)
    composer.json           # Dependencies and autoloading
    settings-schema.json    # Settings form definition
    src/
        Action/             # HTTP action handlers
        Command/            # CLI commands
    schemas/                # Read-only schemas (Pro+)
    templates/              # Twig templates

Documentation

License

MIT

About

Starter template for building Total CMS extensions

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors