Как переопределить текст авторского права нижнего колонтитула в magento 2?

Я хочу настроить 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>

footer.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 ответа

Почему вы хотите переопределить класс, просто чтобы изменить текст? Magento предоставляет возможность изменить текст нижнего колонтитула.

Перейдите: Админ> Содержание> Дизайн> Конфигурация

Нажмите на действие редактирования представления магазина. Теперь прокрутите страницу вниз и найдите нижний колонтитул, разверните его и введите свой текст в поле Авторское право.

Сохраните его и очистите кеш.

введите описание изображения здесь

введите описание изображения здесь

Чтобы переопределить текст авторского права нижнего колонтитула в magento2, вы можете использовать настройки вместо плагина.

Таким образом, ваш 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>

Предпочтение используется для переопределения класса. Это похоже на класс переписывает в magento1.

Плагин позволяет нам выполнять наш код до, после и вокруг любых открытых методов класса. ( http://devdocs.magento.com/guides/v2.0/extension-dev-guide/plugins.html)

Другие вопросы по тегам