我想覆盖Magento 2 CreatePost.php
中的execute Function档案: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
}
}
档案: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>
当我尝试注册新客户时,我只是得到一个没有错误的白页
答案 0 :(得分:0)
空白页是正常行为,因为您没有向执行()添加任何功能。
试试这个:
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>