gpt4 book ai didi

magento - 如何在不修改 magento 核心文件的情况下在客户注册表单中创建手机号码等自定义字段?

转载 作者:行者123 更新时间:2023-12-01 05:43:29 25 4
gpt4 key购买 nike

如何在不修改 magento 核心文件的情况下在客户注册表单中创建手机号码等自定义字段?我试过但手机号码没有保存在数据库中

我通过在我的模块文件夹中创建 Model/Entity/Setup.php 来使用 Myown_Mage_Customer_Model_Entity_Setup 覆盖 Mage_Customer_Model_Entity_Setup 类,并将以下代码添加到 getDefaultEntities 中的数组中

'mobilenumber' => array(
'label' => 'Mobile Number',
'visible' => true,
'required' => true,
),

我的配置文件也包含以下代码
<models>
<customer_entity>
<rewrite>
<customer>Myown_Mage_Customer_Model_Entity_Setup</customer>
</rewrite>
</customer_entity>
</models>

我也在 template/customer/form/register.phtml 中有这个字段
<input type="text" name="mobilenumber" id="mobilenumber" value="<?php echo $this->htmlEscape($this->getFormData()->getMobilenumber()) ?>" title="<?php echo $this->__('Mobile Number') ?>" class="required-entry input-text" />  

在这个配置中有什么我想念的吗?我想将手机号码保存在数据库中,然后再检索。

最佳答案

我必须为企业客户创建一个类似的字段(在本例中为referred_by),所以这是怎么回事:

首先,我创建了一个可以容纳所有这些乐趣的模块。我为客户添加了自己的实体设置条目,这样我就不必依赖默认客户或不必要地重写任何模型(随着时间的推移,您开始在重写时与自己发生冲突)。您的实体代码似乎可以工作,因此是否要重构它取决于您。

然后我将该字段添加到客户字段集中,这似乎有助于 Magento 了解要在数据库中保存哪些数据:

<global>
<fieldsets>
<customer_account>
<referred_by>
<create>1</create>
<update>0</update>
<to_order>customer_referred_by</to_order>
</referred_by>
</customer_account>
</fieldsets>
</global>

然后,我将该字段添加到客户表单中,类似于您在上面所做的方式。在结帐时,我被迫在单页结帐中添加一个覆盖模型以在结帐期间保存数据(在我的情况下,仅在计费期间):
class Company_Module_Model_Checkout_Type_Onepage extends Mage_Checkout_Model_Type_Onepage {
public function saveBilling($data, $customerAddressId) {
if (isset($data['referred_by'])) {
// set referred for later use.
$session = Mage::getSingleton("customer/session");
$session->setData("referred_by", $data['referred_by']);
}

return parent::saveBilling($data, $customerAddressId);
}//end saveBilling
}

和:
<global>
<models>
<checkout>
<rewrite>
<type_onepage>Company_Module_Model_Checkout_Type_Onepage</type_onepage>
</rewrite>
</checkout>
</models>
</global>

之后,数据被正确保存在数据库中。欢呼!

希望有帮助!
谢谢,

关于magento - 如何在不修改 magento 核心文件的情况下在客户注册表单中创建手机号码等自定义字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3819697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com