Magento的checkout onepage下单时的必选字段修改成可选字段

来源:互联网 发布:xps 转换 知乎 编辑:程序博客网 时间:2024/06/06 12:24

js/prototype/validation.js
Validation.addAllThese([
    ['validate-select', 'Please select an option.', function(v) {
                return ((v != "none") && (v != null) && (v.length != 0));
            }],

而validation框架实际上是通过表单的class来进行验证的。
class="required validate-alphanum" 是validation内建的校验规则名称。当执行new Validation('test', {immediate : true}),Field失去焦点或者执行表单提交动作时,该表单下的所有内建类校验名的校验规则将被触发。

所以,我们在进行校验的时候,只需要将表单元素的class里面的值去掉或者修改即可。

例如onepage中billing部分的State/Province 部分,如果是下拉框则必须要填写。
我们将这个部分的必选项改为可选项

/app/design/frontend/default/default/template/checkout/onepage/

billing.phtml
shipping.phtml

一:
将其中的:<span class="required">*</span>去掉
将region_id的class="validate-select"去掉

二:
修改控制器:
app/code/core/Mage/Customer/Model/Address/Abstract.php

/*
        if ($this->getCountryModel()->getRegionCollection()->getSize()
               && !Zend_Validate::is($this->getRegionId(), 'NotEmpty')) {
            $errors[] = $helper->__('Please enter state/province.');
        }
*/

 

原创粉丝点击