Merhabalar,
Opencart üyelik sayfasında düzeltilmesi gereken bir sorundan bahsedeceğim. Üyelerimiz üye olurken, telefon numarası alanına 55555 yazıp geçebiliyor. Veya telefon numarasının başına “O” yazıyor ve “sıfır” gibi gözükmesini sağlıyor. Durum böyle olunca, kampanya için smsleriniz o müşteriye ulaşmıyor. Veya 0555naber45 şeklinde telefon numarası yazıp geçebiliyor. Bunun için yapmanız gereken ufak bir işlem var. Öncelikle bu yöntem opencart 1.5.6.4’te denenmiştir, diğer sürümlerde denenmemiştir.
Şu dosyayı açınız: catalog/controller/account/register.php ve aşağıdaki satırı bulun.
if ((utf8_strlen($this->request->post['telephone']) < 3) || (utf8_strlen($this->request->post['telephone']) > 32)) {
$this->error['telephone'] = $this->language->get('error_telephone');
}
Bu kodu, aşağıdaki kod ile değiştirin;
if ((utf8_strlen($this->request->post['telephone']) < 10) || (utf8_strlen($this->request->post['telephone']) > 11) || preg_match('/[^\d]/is', $this->request->post['telephone'])) {
$this->error['telephone'] = $this->language->get('error_telephone');
}
Bu sayede, 05554442233 gibi 0 ile başlayan telefon numarası yazabilirler. 0 olmadan da telefon numarasını yazabilirler fakat 555 gibi kısa numara yazamazlar. Harf yazamazlar. En az 10, en çok 11 adet rakam yazabilirler.
Aynı değişikliği, catalog/controller/checkout/register.php içinde yapınız.
3 ile 32 arasındaki varsayılan uzunluğu değiştirdiğimiz için, opencart dil dosyasındaki Türkçe dil çevirisini de değiştiriniz.