我的客户希望使用 (###)###-#### 格式统一结帐时输入的所有客户电话号码(客人或注册用户)。我找到了一段我认为可以工作的代码片段,但我不确定如何将它实现到 Magento 表单中,以便它正确执行并且不会在用户提交表单时弄乱进入 Magento 的数据。我也意识到存储这样的数字而不是 1234567890 并不是最佳实践,原因有很多,但这正是客户想要的。任何帮助,将不胜感激。
我正在编辑的文件:template/checkout/onepage/billing.phtml
代码行:
<div class="field">
<label for="billing:telephone" class="required"><em>*</em><?php echo $this->__('Telephone') ?></label>
<div class="input-box">
<input type="text" name="billing[telephone]" value="<?php echo $this->escapeHtml($this->getAddress()->getTelephone()) ?>" title="<?php echo $this->__('Telephone') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('telephone') ?>" id="billing:telephone" />
</div>
</div>
我发现我正在尝试实现的代码: http ://www.weberdev.com/get_example.php3?ExampleID=3605
<?php function phone_number($sPhone){
$sPhone = ereg_replace("[^0-9]",'',$sPhone);
if(strlen($sPhone) != 10) return(False);
$sArea = substr($sPhone,0,3);
$sPrefix = substr($sPhone,3,3);
$sNumber = substr($sPhone,6,4);
$sPhone = "(".$sArea.")".$sPrefix."-".$sNumber;
return($sPhone);
}
print phone_number(" (555) 555 - 1212 ");
?>