Magento 2 中创建子主题第二小节 声明主题Logo

Posted by

Create an Admin theme 创建管理主题

在 Magento 应用程序中,Logo的默认格式和名称是 logo.svg。当您将一个 logo.svg 图像放在传统的位置,< theme _ dir >/web/images 目录)时,它会被自动识别为主题徽标。应用主题后,它将显示在存储页标题中。

在自定义主题中,可以使用具有不同名称和格式的徽标文件,但可能需要声明它。

声明的必要性取决于主题是否具有父主题及其徽标图像。下列情况是可能的:

  • 您的主题没有父主题
    •  如果您的logo图像名称和格式使用默认变数命名原则(logo.svg), 无须声明。
    • 如果你的 logo 图像名称或格式没有使用默认的变数命名原则,你需要在布局中声明它.
  • 你的主题有一个父主题
    • 如果主题logo图像的名称和格式与父主题徽标相同,则无需声明它。
    • 如果Logo图像具有不同的名称或格式,请在布局中声明它.

声明主题Logo

要声明一个主题Logo,添加一个扩展的 < theme _ dir >/Magento _ Theme/layout/default.xml 布局。

例如,如果您的logo文件是 my _ logo.png 大小为300x300px,那么您需要像下面这样声明它:

路径:

<?xml version="1.0"?>
<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_file" xsi:type="string">images/my_logo.png</argument>
                <argument name="logo_width" xsi:type="number">300</argument>
                <argument name="logo_height" xsi:type="number">300</argument>
                <argument name="logo_alt" xsi:type="string">Logo name</argument>
            </arguments>
        </referenceBlock>
    </body>
</page>

声明Logo大小是可选的。

如果主题更改在清除缓存之后仍然不可见,请尝试使用 bin/magento setup: static-content: deploy 命令重新部署静态文件,或者添加-f 参数,以便在不处于生产模式的情况下,强制在任何部署模式下部署静态内容。

使用-f 参数运行此命令可以修复有关静态内容部署的问题,但是会删除所有符号链接并部署实际的静态内容文件。