0

I am new to Magento 2 Theme Development; I have gone through the frontend development guide.

I set my child theme to Magento Blank theme. I have done all that the guide says and added my CSS file but it is not showing on the frontend.

I have cleared all the caches and deployed static content.

Below is my setup. Any help would be great!

Local theme path: design/frontend/Speedcrete/speedcrete

Inside the folder speedcrete the structure is:

|-etc
| |-view.xml
|
|- Magento_theme
| |-layout
| |-default_head_blocks.xml
| 
|
|-media
| |-preview.jpg
|
|-web
| |-css
| |-custom.css
| |-fonts
| |-images
| |-js
|
|-registration.php
|-theme.xml

Here is the code for default default_head_blocks.xml:

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
 <head>
 <!-- Add local resources -->
 <css src="Magento_Theme::css/speedcrete.css"/> 
 </head>
</page>

Here is the code for the theme.xml file:

 <theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
 <title>speedcrete</title> <!-- your theme's name -->
 <parent>Magento/blank</parent> <!-- the parent theme, in case your theme inherits from an existing theme -->
 </theme>

Let me know if I need to supply more files.

I have tried to run the following commands and then clear the cache and no joy.

php bin/Magento setup:upgrade --keep-generated php bin/Magento setup:static-content:deploy

Only another thing it might be is that there are no files under design/frontend/Magento/blank. I looked at another forum and they said it was ok as it is stored elsewhere. It seems to be the case as the "blank" theme is showing when I have my custom theme activated. Only cannot see any custom CSS I add.

asked Aug 9, 2017 at 13:22
2
  • Have you got your solution ? Commented Aug 9, 2017 at 16:29
  • For future reference Magento default theme files are under <magento_root>/vendor/magento/theme-frontend-<name> Commented Sep 17, 2020 at 14:14

3 Answers 3

1

In my case, i just add default.xml to my themes. and it's working fine.

<page layout="3columns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
 <update handle="default_head_blocks"/>
 ...

and default_head_blocks.xml

<head>
 ...
 <css src="css/custom.css"/>
 ...
</head>
answered Aug 13, 2018 at 4:35
0

If you want your custom CSS in web/css folder directly within theme root then update your default head blocks to remove the Magento_Theme so that it isn't looking in the magento theme directory:

<head>
 <!-- Add local resources -->
 <css src="css/speedcrete.css"/> 
</head>

I can't see your speedcrete.css in your tree depicted in question however this should go where custom.css is located.

Also the Blank theme being empty is fine depending on how you installed Magento, if it was installed with composer the theme will be located in vendor/magento/theme-frontend-blank/ directory. If downloaded from github i believe it should be design/frontend/Magento/blank however.

answered Aug 9, 2017 at 13:29
9
  • It was installed via composer, as the blank theme resides in vendor/magento/theme-frontend-blank. Commented Aug 9, 2017 at 13:48
  • That hasn't seemed to have worked! Commented Aug 9, 2017 at 14:08
  • So have you disabled cache / cleared cache? Also check markup and console to see if the file is showing or just not being found. Commented Aug 9, 2017 at 16:37
  • Sorry yeah I see you mentioned clearing cache already. I would also take the keep generated out of your deploy command Commented Aug 9, 2017 at 17:24
  • I have re-run the --keep-generated out of my deploy command. The file isn't appearing in the console. Commented Aug 10, 2017 at 7:38
0

One thing that people should try because it is an absolute keyboard banger if you have it as a bug, is check the casing of all files in your theme directory:

For instance for me changing <theme_root>/Magento_theme back to <theme_root>/Magento_Theme where I had accidentally changed the name.

For me the incorrect casing of the module override name meant that Magento simply ignored the directory when loading all resources on page refresh

answered Sep 17, 2020 at 14:17

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.