What is Magento 2 Child Theme?
Magento 2 Core Installation ships with two default themes “Blank” theme and “Luma” theme. We can create a New Child theme based on some parent theme as Base theme. Theme development efforts can be reduced using this approach, keeping the base style in parent theme and just overriding parts of it in the child theme.
Read more about this on http://mydons.com/whats-new-in-magento-2-0
However, this creates some challenges when working in a collaborative environment. While working on a recent project we faced a strange issue.
A Child theme was created with “Blank” theme as Base/Parent theme. This worked fine in Local Environment where the theme design changes showed up fine on the website. But However, when we moved the theme files to Staging/QA Server the theme design was not reflected on the website.
Steps to fix Magento 2 child theme not showing up in frontend
Our New Child theme doesn’t show up on the website and the Blank theme seems to be rendering. Despite cache cleaning, static deployment still, the “Blank” theme was shown. After Further code investigation, it was the database entry which caused the issue.
In Magento 2 Version there will be a new table called “theme” where all the theme details will be saved. In the theme table, there was a column called “type” which has three values.
0 – physical
1 – virtual
2 – staging
Somehow accidentally the value was set as 1 (virtual) this was the cause our theme was not reflecting in the website. Once the value was changed to zero (Physical) the theme changes were reflected.