@@ -307,6 +307,7 @@ themes/
307307` ` `
308308
309309In this example, when `my-custom-theme` is active :
310+
310311- ` theme.css` and `logo.png` load from the child theme
311312- ` header.htm` loads from the child theme
312313- ` footer.htm` loads from the parent theme (inherited)
@@ -349,6 +350,7 @@ When [database templates](#database-driven-themes) are enabled, you can:
3493503. Inherit all other files from the parent theme's filesystem
350351
351352This approach allows you to :
353+
352354- Manage hundreds of similar themes without duplicating files
353355- Update the parent theme and have changes cascade to all child themes automatically
354356- Store tenant-specific customizations in the database while sharing a common codebase
@@ -375,23 +377,27 @@ The child theme will now function without any physical directory, inheriting eve
375377# ## Best Practices
376378
377379**When to use child themes:**
380+
378381- Customizing a third-party theme while preserving the ability to update it
379382- Creating multiple branded variations of a base theme
380383- Building a multi-tenant application where each tenant needs minor customizations
381384- Developing a theme framework where a base theme provides core functionality
382385
383386**When to create a new theme instead:**
387+
384388- Making extensive changes that affect most templates and assets
385389- Building something significantly different from the original design
386390- When you need to modify the theme structure itself
387391
388392**Organization tips:**
393+
389394- Keep child themes minimal - only override what's necessary
390395- Document which files are overridden and why
391396- Use clear, descriptive names for child themes (e.g., `mytheme-client-a`, `mytheme-blue-variant`)
392397- Consider using [theme customization](../themes/development#theme-customization) for simple configuration changes before creating a child theme
393398
394399**Performance considerations:**
400+
395401- Child themes have minimal performance impact - file resolution is cached
396402- Avoid deep nesting (grandparent/parent/child) - only one level of inheritance is supported
397403- Database-driven templates are cached, so virtual child themes perform well
0 commit comments