...
Create a duplicate of the Clean Theme directory and rename it to the current client.
Update the _colors.scss file in the client theme directory with all of the client color options.
Update the _variables.scss file in the client theme directory with the paths to the correct image files.
Update the _typography.scss file in the client theme directory with the clients font information.
Pull a copy of the theme designer branch with
git clone git@bitbucket.org:aspenwareunity/commerce-theme-builder.git
Run Theme Designer with the
yarn dev
command in terminalIn the Theme Designer source files, open layouts.vue and checkout.vue. Locate the scss import statement that targets the client theme. Change the path in both files to point at the client theme directory you are working on. This will make Theme Designer load that clients SCSS into the Design window.
Make sure that all but the following 3 mixins are commented out in the clients _theme.scss file : @include theme-vouchers-css(), @include theme-rewards-css(), @include fix-header-for-td(). These 3 mixins need to be available during the design process.
In Theme Designer, in Presentation Mode, set all of the theme option controls to match the client choices.
Enable Developer mode, and click the "Export All Mixins" button.
Copy the mixins from the dialog box and paste them into the clients _theme.scss file. Make sure they are uncommented and save the file.
In Theme Designer, enable Preview Mode. You should now see the mixins from the clients _theme.scss file being applied.
While still in Preview Mode, make any additional configurations necessary to the mixins in the clients _theme.scss file and ensure they appear correct in the Theme Designer preview.
IMPORTANT: Once the theme looks how you want it, remove the following 3 mixins from the clients _theme.scss file. The CSS being provided by these mixins will already be available in Commerce so if you forget to remove them from the _theme.scss file you will have two instances of this same CSS in the live site.
Copy the clients entire theme directory from Theme Designer over to the Theme directory in commerce.
Fire up a local instance of Commerce, set the environment to the client and QA the entire theme.
If it looks good, commit the theme to Commerce source.
Known Limitations and Bugs
There is a limitation with the checkout page in demo mode in that it will not retain the settings configured on other pages. This should be resolved in the future.
A code change is necessary to display anything other than the “Clean Theme”, so when developing a theme there is no UI method to view other themes.
A code change is necessary when developing themes to remove the CSS that is required to view the plugin based UI elements in order to ensure against duplicate CSS making into production. Forgetting to do this will result in themes having duplicate plugin CSS in production.