Magento2 自定义邮政编码的输入掩码
Magento2 自定义邮政编码的输入掩码
PS:如需转载,请留言,转载后请说明出处,否则虽繁必究!!!
这篇文章描述了开发人员如何添加自定义的输入掩码。
在下单或者购物车页面上,当顾客在配送地址中指定国家和邮政编码时,Magento 会检查输入的邮政编码格式是否符合所指定的国家。用邮政编码这个字段的输入掩码来执行这个校验。在 Magento 中,这些输入掩码是定义了允许格式的正则表达式。
在 Magento 中,邮政编码字段的输入掩码定义在/etc/zip_codes.xml。每个国家都用正则表达式定义了输入掩码。定于的语法查看 zip_code.xsd。
下面这个表格定义了邮政编码的属性:
下面这个表格定义了编码的属性:
你可以为同一个国家定义几个邮政编码的格式,通过传入一个编码列表:
^[0-9]{5}$^[a-zA-z]{2}[0-9]{4}$
为了兼容性,可升级性和易维护性,不要编辑默认的 Magento 代码。在不同的自定义模块中添加你的自定义代码。为了你的邮政编码输入掩码正确地执行,你的自定义模块应该基于 Magento_Direcotry 模块。不要用 Ui 作为你的自定义模块的名字,因为当指定路径的时候, %Vendor%_Ui 这个符号可能会有问题。
添加自定义的邮政编码输入掩码
为添加自定义的或者改变默认的邮政编码的输入掩码,在 <你的模块目录>/etc 目录下新建一个 zip_code.xml 。
这个文件的内容应该跟下面这个例子相似:
^[0-9]{5}-[0-9]{4}$^[0-9]{5}$
修改已有的掩码的默认值
为了改变(重写默认值)已存在的掩码:
- 打开 zip_codes.xml 。
- 复制相关节点。
- 改变定义掩码的正则表达式和相应的示例值。
改变默认输入掩码的示例:
在默认的 /etc/zip_codes.xml 中,下面这个掩码是为法国设置的:
... ... ^[0-9]{5}$
在你的 your zip_codes.xml 中,添加下面的代码来改变这个掩码:
... ... ^[a-zA-Z]{1}[0-9]{3}$
移除掩码
为了移除掩码,在你的 zip_codes.xml 中添加相应的节点,设置
的 active 属性为 false 。PS:如需转载,请留言,转载后请说明出处,否则虽繁必究!!!
