php – Magento 2覆盖核心框架

我想覆盖AbstractBlock类,我尝试使用我的自定义模块,但它无法正常工作

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\Framework\View\Element\AbstractBlock" type="YourCompany\YourModule\Framework\View\Element\AbstractBlock" />
</config>

AbstractBlock.PHP

<?PHP
namespace YourCompany\YourModule\Framework\View\Element;

abstract class AbstractBlock extends \Magento\Framework\View\Element\AbstractBlock {

    /**
     * Retrieve child block HTML
     *
     * @param   string $alias
     * @param   boolean $useCache
     * @return  string
     */
    public function getChildHtml($alias = '',$useCache = true)
    {
        die("here");
    }

}

解决方法

您无法替换层次结构中间的类.
意思是,用另一个抽象类交换现有的父(抽象)类.

也许你可以展示你是如何使用原始类的(我猜在构造函数中)并且这将有助于提供更好的答案.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...