Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从Magento中的帐单信息部分删除电话字段_Php_Magento_Shipping_Billing - Fatal编程技术网

Php 从Magento中的帐单信息部分删除电话字段

Php 从Magento中的帐单信息部分删除电话字段,php,magento,shipping,billing,Php,Magento,Shipping,Billing,如何从magento中的帐单信息部分删除电话字段。但在运输信息方面,我需要电话字段。我可以将电话文件隐藏在billing.phtml文件中。但电话字段是必填字段。所以我不能单击“继续”按钮 我需要在运输信息页面中必填电话字段。并且在计费信息页面中不需要电话字段 我该怎么做?请帮帮我…任何帮助都是值得的。最终解决方案包含三个步骤,分别是: 删除客户端javascript验证 如果主题中尚未存在这些文件,请将以下文件从基本/默认主题复制到主题中: 模板/checkout/onepage/billin

如何从magento中的帐单信息部分删除电话字段。但在运输信息方面,我需要电话字段。我可以将电话文件隐藏在billing.phtml文件中。但电话字段是必填字段。所以我不能单击“继续”按钮

我需要在运输信息页面中必填电话字段。并且在计费信息页面中不需要电话字段


我该怎么做?请帮帮我…任何帮助都是值得的。

最终解决方案包含三个步骤,分别是:

删除客户端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类:输入所需的文本项