Theme extending

This documentation section is yet to be updated and it is about proper ways to extend Zero One theme and make something super powerful.

Theme files customization

Because Zero One is a theme made as a plugin, you can override every plugin file with the same name and file in the site/theme folder. But it must be in the same folder structure as in the plugin.

Examples:

  • site/theme/blueprints/site.yml overrides site/plugin/zero-one/blueprints/site.yml

  • site/theme/snippets/header/navbar.php overrides site/plugin/zero-one/snippets/header/navbar.php

  • site/theme/templates/article.php overrides site/plugin/zero-one/templates/article.php

  • site/theme/controllers/contact.php overrides site/plugin/zero-one/controllers/contact.php

  • and so on

Visual example:

File in Theme folder site/theme/snippets/footer.php

📁 site/

— 📁 theme/

—— 📁 snippets/

——— 📄 footer.php

Overrides Zero One plugin file site/plugins/zero-one/snippets/footer.php

📁 site/

— 📁 plugins/

—— 📁 zero-one/

——— 📁 snippets/

———— 📄 footer.php

So you can copy a file from the site/plugins/zero-one plugin, to the relative folder inside site/theme/ folder, change it, extend it, and safely update Zero One to new versions without worry. Your changes will stay untouched. Like a WordPress child theme, but more powerful.

Last updated