Php 从Magento中的帐单信息部分删除电话字段
如何从magento中的帐单信息部分删除电话字段。但在运输信息方面,我需要电话字段。我可以将电话文件隐藏在billing.phtml文件中。但电话字段是必填字段。所以我不能单击“继续”按钮 我需要在运输信息页面中必填电话字段。并且在计费信息页面中不需要电话字段Php 从Magento中的帐单信息部分删除电话字段,php,magento,shipping,billing,Php,Magento,Shipping,Billing,如何从magento中的帐单信息部分删除电话字段。但在运输信息方面,我需要电话字段。我可以将电话文件隐藏在billing.phtml文件中。但电话字段是必填字段。所以我不能单击“继续”按钮 我需要在运输信息页面中必填电话字段。并且在计费信息页面中不需要电话字段 我该怎么做?请帮帮我…任何帮助都是值得的。最终解决方案包含三个步骤,分别是: 删除客户端javascript验证 如果主题中尚未存在这些文件,请将以下文件从基本/默认主题复制到主题中: 模板/checkout/onepage/billin
我该怎么做?请帮帮我…任何帮助都是值得的。最终解决方案包含三个步骤,分别是: 删除客户端javascript验证 如果主题中尚未存在这些文件,请将以下文件从基本/默认主题复制到主题中: 模板/checkout/onepage/billing.phtml 在每个文件中,查找定义电话字段的,并从标签中删除所需的类,从输入中删除所需的属性类,并确保删除* 重新定义Mage\u Customer\u Model\u Address\u抽象类 将文件app/code/core/Mage/Customer/Model/Address/Abstract.php复制到app/code/local/Mage/Customer/Model/Address/Abstract.php。这确保升级不会破坏您的修改。现在打开文件并查找验证电话字段的部分,它应该如下所示:
if (!Zend_Validate::is($this->getTelephone(), 'NotEmpty')) {
$errors[] = $helper->__('Please enter the telephone number.');
}
您可以完全删除此部分,也可以将其放在/*和*/之间进行注释
在数据库中更改客户EAV
打开表格eav_属性并搜索具有属性_code=“telephone”的行。记下此行的属性_id。接下来,将列is_required设置为0。
现在,打开表customer_eav_属性并搜索具有与上一步中所述相同属性_id的行。将此行的列验证规则设置为NULL
最终解决方案包含以下三个步骤: 删除客户端javascript验证 如果主题中尚未存在这些文件,请将以下文件从基本/默认主题复制到主题中: 模板/checkout/onepage/billing.phtml 在每个文件中,查找定义电话字段的,并从标签中删除所需的类,从输入中删除所需的属性类,并确保删除* 重新定义Mage\u Customer\u Model\u Address\u抽象类 将文件app/code/core/Mage/Customer/Model/Address/Abstract.php复制到app/code/local/Mage/Customer/Model/Address/Abstract.php。这确保升级不会破坏您的修改。现在打开文件并查找验证电话字段的部分,它应该如下所示:
if (!Zend_Validate::is($this->getTelephone(), 'NotEmpty')) {
$errors[] = $helper->__('Please enter the telephone number.');
}
您可以完全删除此部分,也可以将其放在/*和*/之间进行注释
在数据库中更改客户EAV
打开表格eav_属性并搜索具有属性_code=“telephone”的行。记下此行的属性_id。接下来,将列is_required设置为0。
现在,打开表customer_eav_属性并搜索具有与上一步中所述相同属性_id的行。将此行的列验证规则设置为NULL
您可以使用GoMage LightCheckout extension,它是一个单页签出解决方案,具有许多有用的选项,其中一个选项是能够对字段进行排序或删除不需要的字段。因此,您可以使用该分机的管理面板设置禁用电话号码字段 您可以使用GoMage LightCheckout extension,它是一个单页签出解决方案,具有许多有用的选项,其中一个选项是对字段进行排序或删除不需要的字段。因此,您可以使用该分机的管理面板设置禁用电话号码字段
app->code->core->mage->Eav->Model->Attribute->Data->Text.php
不要更改数据库表………
您可以在Text.php文件中更改。。我提到了路径
更改此项:
if ($attribute->getIsRequired() && strlen($value) == 0)
{
$errors[] = Mage::helper('eav')->__('"%s" is a required value.', $label);
}
致:
不要更改数据库表………
您可以在Text.php文件中更改。。我提到了路径
更改此项:
if ($attribute->getIsRequired() && strlen($value) == 0)
{
$errors[] = Mage::helper('eav')->__('"%s" is a required value.', $label);
}
致:
app->code->core->mage->Eav->Model->Attribute->Data->Text.php 请勿更改数据库表………您可以在Text.php中更改,请为其创建本地副本,这意味着在magento中编辑核心文件不是一个好的做法,因此请在app/code/local/Mage/Eav/Model/Attribute/Data/Text.php中创建一个文件夹 更改这些行:
if ($attribute->getIsRequired() && strlen($value) == 0)
{
$errors[] = Mage::helper('eav')->__('"%s" is a required value.', $label);
}
对这些:
if ($attribute->getIsRequired() && strlen($value) == 0)
{
if($label != 'Telephone')
{
$errors[] = Mage::helper('eav')->__('"%s" is a required value.', $label);
}
}
也
更改这些行:
$validateRules = $attribute->getValidateRules();
if (!empty($validateRules['min_text_length']) && $length < $validateRules['min_text_length']) {
$v = $validateRules['min_text_length'];
$errors[] = Mage::helper('eav')->__('"%s" length must be equal or greater than %s characters.', $label, $v);
}
if (!empty($validateRules['max_text_length']) && $length > $validateRules['max_text_length']) {
$v = $validateRules['max_text_length'];
$errors[] = Mage::helper('eav')->__('"%s" length must be equal or less than %s characters.', $label, $v);
}
致:
app->code->core->mage->Eav->Model->Attribute->Data->Text.php 请勿更改数据库表………您可以在Text.php中更改,请为其创建本地副本,这意味着在magento中编辑核心文件不是一个好的做法,因此请在app/code/local/Mage/Eav/Model/Attribute/Data/Text.php中创建一个文件夹 更改这些行:
if ($attribute->getIsRequired() && strlen($value) == 0)
{
$errors[] = Mage::helper('eav')->__('"%s" is a required value.', $label);
}
对这些:
if ($attribute->getIsRequired() && strlen($value) == 0)
{
if($label != 'Telephone')
{
$errors[] = Mage::helper('eav')->__('"%s" is a required value.', $label);
}
}
也
更改这些行:
$validateRules = $attribute->getValidateRules();
if (!empty($validateRules['min_text_length']) && $length < $validateRules['min_text_length']) {
$v = $validateRules['min_text_length'];
$errors[] = Mage::helper('eav')->__('"%s" length must be equal or greater than %s characters.', $label, $v);
}
if (!empty($validateRules['max_text_length']) && $length > $validateRules['max_text_length']) {
$v = $validateRules['max_text_length'];
$errors[] = Mage::helper('eav')->__('"%s" length must be equal or less than %s characters.', $label, $v);
}
致:
正如我所记得的,这个模块将一些默认值放在禁用字段中
e in backgroundSO不是一个代码编写服务。如果您有一些代码,但它不起作用,请发布它,以便我们可以帮助解决您的问题。@Mark Fitzgerald,我不需要代码,但我需要一个建议或一些帮助来解决问题。如果我为一个页面更改某些内容,它会影响另一个页面。这就是为什么我把问题贴在这里。下面的链接说明了常见情况:我记得这个模块在禁用字段中放入了一些默认值,所以不是代码编写服务。如果您有一些代码,但它不起作用,请发布它,以便我们可以帮助解决您的问题。@Mark Fitzgerald,我不需要代码,但我需要一个建议或一些帮助来解决问题。如果我为一个页面更改某些内容,它会影响另一个页面。这就是为什么我把问题贴在这里。下面的链接显示了常见情况:@JIGNESH,这将删除计费和发货页面中的电话验证。我只需要将其从账单页面中删除。您可以使用前端的magento类使用有效的配送电话。css类:输入文本required entry@JIGNESH,这将删除账单和发货页面中的电话验证。我只需要将其从账单页面中删除。您可以使用前端的magento类使用有效的配送电话。css类:输入所需的文本项