I have specified a custom logo in <custom-theme-dir>/Magento_Theme/layout/default.xml
as so, and uploaded the logo image file to <custom-theme-dir>/web/images/theme_logo.png
, but the logo does not show up on the front end:
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="logo">
<arguments>
<argument name="logo_src" xsi:type="string">images/theme_logo.png</argument>
<argument name="logo_width" xsi:type="number">210</argument>
<argument name="logo_height" xsi:type="number">30</argument>
<argument name="logo_alt" xsi:type="string">My Theme Co.</argument>
</arguments>
</referenceBlock>
</body>
The other parameters (width, height, alt text, etc. all show up in the image tag, but the source stays exactly as specified in default.xml.
Other sites I've worked with make a replacement in the image source attribute pointing to the static file location, but for some reason, this "conversion" in the src path is not happening.
What I'm seeing in the page source code:
<img src="*images/theme_logo.png*" title="My Theme Co." alt="My Theme Co." width="210" height="30">
What I expect to see:
<img src="*https://example.com/static/versionXXXXXXXXXXX/frontend/<Vendor>/<custom-theme-dir>/en_US/images/theme_logo.png*" title="My Theme Co." alt="My Theme Co." width="210" height="30">
I've tried blowing away the static content, changing from developer mode to production mode and default mode, etc. and completely re-caching everything, re-indexing, etc. and there is no change. The logo does not show up because it seems that the logo file is not being transferred over to the static content.
Why is this likely not happening?
I've consulted several resources including:
https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/themes/theme-create.html#theme_logo