我想重写Magento 2的execute函数CreatePost.php
文件:Magento/Controller/Account/CreatePost.php
MyFile: Company/Module/Controller/Account/CreatePost.php
namespace Company'Module'Controller'Account;
class CreatePost extends 'Magento'Customer'Controller'Account'CreatePost
{
public function execute()
{
// Override standard class code
}
}
File: di.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="Magento'Customer'Controller'Account'CreatePost" type="Company'Module'Controller'Account'CreatePost" />
</config>
当我尝试注册一个新客户时,我只是得到一个没有错误或其他东西的白页
空白页是正常行为,因为您没有添加任何功能到execution()。
试试这个:
namespace Company'Module'Controller'Account;
class CreatePost extends 'Magento'Customer'Controller'Account'CreatePost
{
public function execute()
{
// your code
parent::execute();
}
}
此外,我建议在module.xml
中添加对Magento_Customer模块的依赖。<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Company_Module" setup_version="1.0.0">
<sequence>
<module name="Magento_Customer"/>
</sequence>
</module>