Skip to content

How Theme Customizations Work

How Theme Customizations Work

Cartly themes use a fork-on-write model. Every theme file starts as a stock file served directly by the platform — it is not copied into your shop's database. A file is only "forked" (saved to your shop) when you explicitly edit it in the code editor.

Synced vs Custom files

Open the code editor (Online Store → Themes → Edit Code) and look at the file tree. Each file has a badge:

  • Synced — stock file from the platform. You have not edited it. Platform updates flow in automatically whenever Cartly releases improvements.
  • Custom — you have edited this file. A copy exists in your shop's database. Platform updates to this file will not overwrite your version.
  • New — a file you created from scratch. Has no platform equivalent.

When does a fork happen?

A fork happens the first time you save an edit to a Synced file. Here's the exact sequence:

  1. Click a Synced file — it opens read-only with a blue banner.
  2. Click Edit file (or press ⌘E on Mac / Ctrl+E on Windows).
  3. A confirmation modal appears explaining the fork. Click Confirm.
  4. The file becomes editable. Edit and press ⌘S to save.
  5. The badge changes to Custom. Your version is now stored in the database.

Reverting to default

To go back to the stock platform version, open the Custom file and click Revert to default in the toolbar. This deletes your custom copy. The file returns to Synced state and will receive platform updates again.

What happens when Cartly updates a file you've customized?

If Cartly ships improvements to a file you have forked, an amber banner appears at the top of the editor: This file has been updated upstream. Your custom version is untouched — you decide what to do:

  • View diff — compare the new platform version against your version side by side.
  • Sync upstream — replace your version with the updated platform version. This is permanent.
  • Do nothing — keep your version as-is. The amber banner remains as a reminder.
Was this helpful?