私のクライアントは、チェックアウト時に入力されるすべての顧客の電話番号 (ゲストまたは登録ユーザー) を (###)###-#### 形式を使用して統一することを望んでいます。うまくいくと思われるコードのスニペットを見つけましたが、それを 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 ");
?>