Sage Child/Parent Theme Support
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 28/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- php
- Domain
- documentation
Research direction
Start with the linked parent/child theme discussion, then review the setup points named in helpers.php, composer.php, resources/views/, style.css, View Composers, and Roots config(). Clarify whether the goal is implementation support or a setup guide, and define done as documented or working parent inheritance for views, composers, helpers, and configuration.
Written by the indexing model from the issue text.
Description
- I've read the guidelines for Contributing to Roots Projects
- This request isn't a duplicate of an existing issue
- I've read the docs and followed them (if applicable)
- This is not a personal support request that should be posted on the Roots Discourse community
Description
Related to this discussion: https://discourse.roots.io/t/sage-10-as-parent-child-themes/
It would be fantastic to get some feedback ftom @Log1x and @QWp6t
Steps to reproduce
1. Parent Theme:
1.1 Make a new Sage 10 Theme with custom Namespace "Parent" in folder 'parent'
1.2 Add some View Composers variables such as "siteName" and reference it in a blade file
1.3 Add a function my_test_function() to helpers.php
1.4 Activate the theme, it should be working and the variable $siteName is outputted correctly
2. Child Theme
1.1 Make a new Sage 10 Theme and leave the Namespace as "App" in folder child
1.2 Add Template: parent to style.css
1.3 Remove all blade files from ./resources/views/
1.4 Use \Parent\my_test_function() e.g. in a child View Composer
1.5 Autoload parent theme Class in composer.php:
"psr-4": {
"App\\": "app/",
"Parent\\": "./../parent/app/"
}
1.5 Activate the child theme
Expected behavior: [What you expect to happen]
- Blade views are loaded from parent theme
- View Composers are loaded from parent theme as well as from child theme (ideally overwriting parent values)
- Functions from parent theme in helpers.php are available via
\Parent\my_test_function() - Config via
\Roots\config()is loading parent theme value, if child theme value is not set
Actual behavior: [What actually happens]
- Blade views are loaded from parent theme
-
Undefined variable: siteNameerrors, the View Composers from the parent theme are missing - Call to undefined function errors when calling
\Parent\my_test_function() - Error if e.g.
\Roots\config('app.debug')is not set in child theme as function not checks against parent value
Reproduces how often: [What percentage of the time does it reproduce?]
In the current setup 100%. More tests required.
Versions
Sage 10.0.0-alpha
Additional information
It would be fantastic to get a very short summary how child/parent themes should be set-up with Sage 10.
- Dominant language
- No language data
- Stars
- 171
- Forks
- 181
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from roots/docs
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
bancolombia/sentinel#22 ·
-
test md OpenCI
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
optimization optimization:agents-md-curator
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
githubnext/gh-aw-cao#13143 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 94/100
objectionary/hone-maven-plugin#1061 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
redhat-developer/rhdh-plugins#4887 · 2 comments ·