本文用于学习记录用

1.主题创建是在路径 /app/design/frontend/公司名/主题名称/

  我自己创建的路径为 app/design/frontend/bman/castle,以下操作都在这个目录下

2.创建好自己的目录后,需要在castle主题目录下创建registration.php文件

<?php
//用于注册主题
\magento\framework\component\componentregistrar::register( \magento\framework\component\componentregistrar::theme, 'frontend/bman/castle', __dir__ );

3.然后再castle主题目录下创建theme.xml文件

<theme xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nonamespaceschemalocation="urn:magento:framework:config/etc/theme.xsd">
    <title> castle theme</title>
    <parent>magento/luma</parent>
</theme>

在此说明,magento开发都是需要继承父主题,然后进行覆盖开发。由于是学习,我这里继承的是magento/luma默认主题

4.在核心代码路径 app/vendor/magento/theme-frontend-luma/magento_theme/layout/default.xml文件中可以搜索到logo的block。

 如果自己的主题中存在和父主题一样的路径,自己的主题覆盖父主题的代码。所以我们在自己的路径下创建如下:

  castle/magento_theme/layout/default.xml

  

<?xml version="1.0"?>
<page layout="empty" 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_file" xsi:type="string">images/logo.jpg</argument>
                <argument name="logo_alt" xsi:type="string">custom design</argument>
                <argument name="logo_img_width" xsi:type="number">250</argument>
                <argument name="logo_img_height" xsi:type="number">30</argument>
            </arguments>
        </referenceblock>
        <referenceblock name="copyright" remove="true"/>
    </body>
</page>

上边代码我修改了logo,并且删除了copyright。记得图片放到路径为castle/magento_theme/web/images/logo.jpg, web文件夹是用来放css,js,图片的。

 

5.最重要的一点就是在后台,content/configuation/ 路径下,应用自己的主题

6.记得刷新缓存 bin/magento c:c

7.现在查看前端页面,打完收工。