Skip to main content
A theme is a Composer package that renders your public website. It owns the landing page, and it can add public pages of its own. Everything behind the login screen belongs to the application.
This page applies to Aikeedo 5.x. Class names, paths and signatures match the 5.0 source code.

What a theme controls

To change a core template, use resources/views/overrides/, which isn’t part of the theme system. See Extending Aikeedo.

How rendering works

  • The active theme is the package named by the theme option, which defaults to the bundled default theme. Publishing a theme in Admin → Themes sets it.
  • @theme is a Twig namespace pointing at the active theme’s directory, so every include in your templates starts with @theme/.
  • The landing page receives plans, the active plans sorted by price. Every other global comes from the view middleware.
  • site.is_landing_page_enabled turns the landing page off, which redirects / to the app.

Preview before publishing

/preview?theme=vendor/name sets a short-lived preview cookie and sends you to the home page, so you can look at a theme without switching the live site.

Anatomy

Only composer.json and templates/index.twig are required. Everything else is convention, plus whatever your build produces. See The minimum theme.

Where themes come from

Want a finished design instead of building one? The official Pulse theme is available on the Aikeedo Marketplace:

Theme development at a glance

Quickstart

Clone the starter kit and get hot reloading against a local installation.

Structure

What every directory and file is for.

Template objects

Every variable available in a theme template.

Custom pages

Add public pages with a PHP entry class.

Need Help?

If you need assistance with Aikeedo:

Professional Support

Get expert help from our team with a paid support subscription

Troubleshooting Guide

Check common issues and solutions