我想使用自定义模块自定义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!";
}
}
但它不起作用。
2条答案
按热度按时间gblwokeq1#
为什么你要重写一个类只是为了改变文本?Magento提供了一个功能来改变页脚的文本。
转到:管理〉内容〉设计〉配置
点击商店视图的编辑操作。现在,向下滚动页面,有页脚部分,展开它,并在版权字段中输入你的文本。
保存并清除该高速缓存。
luaexgnf2#
要覆盖magento2中的页脚版权文本,可以使用preference代替plugin。
因此di.xml如下所示。
Preference用于重写类。它类似于magento1中的类重写。
插件允许我们在类的任何公共方法之前、之后和周围执行代码。(http://devdocs.magento.com/guides/v2.0/extension-dev-guide/plugins.html)