我如何在magento 2中覆盖页脚版权文本?

vc9ivgsu  于 2022-11-12  发布在  其他
关注(0)|答案(2)|浏览(156)

我想使用自定义模块自定义Magento\Theme\Block\Html\Footer class
输出:Hello World!

di.xml文件:

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\Theme\Block\Html\Footer">
        <plugin name="footer-text-override" type="Hello\Test\Plugin\Footer" sortOrder="15" />
    </type>
</config>

页脚.php

<?php

namespace Hello\Test\Plugin;

use Magento\Framework\View\Element\Template;

class Footer extends \Magento\Theme\Block\Html\Footer
{
    public function getCopyright()
    {
        echo "Hello World!";
    }
}

但它不起作用。

gblwokeq

gblwokeq1#

为什么你要重写一个类只是为了改变文本?Magento提供了一个功能来改变页脚的文本。
转到:管理〉内容〉设计〉配置
点击商店视图的编辑操作。现在,向下滚动页面,有页脚部分,展开它,并在版权字段中输入你的文本。

保存并清除该高速缓存。

luaexgnf

luaexgnf2#

要覆盖magento2中的页脚版权文本,可以使用preference代替plugin
因此di.xml如下所示。

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <preference for="Magento\Theme\Block\Html\Footer" type="Hello\Test\Plugin\Footer" />
</config>

Preference用于重写类。它类似于magento1中的类重写。
插件允许我们在类的任何公共方法之前、之后和周围执行代码。(http://devdocs.magento.com/guides/v2.0/extension-dev-guide/plugins.html

相关问题