В сто первый раз про маску телефонного номера

Исправление проблемы предполагает возможность задать маску телефона? Например как в модуле обратный звонок. У меня все клиенты из России и я хочу чтобы маска сразу выдавала в начале поля не просто + ,а +7. Многие клиенты после плюса пытаются писать 8 или сразу код трехзначный, а маска не дает и в итоге в лучшем случае звонят что не могут указать телефон при заказе. Проблема на ровном месте

5 лайков

В настройках нужно выбрать

А в модуле Обратный звонок указать формат

Но этого бывает недостаточно. Видимо разработчики забыли добавлять data-атрибут к полю input при указанных вариантах настройки.
Поэтому нужно в шаблонах прописать у необходимых полей input этот атрибут data-enable-custom-mask="true"

Но это не решает проблему, дело в том, что часто пользователи в маску +7 (__) -- начинают вводить сначала 8 или 7 далее код 999 и номер 123-45-67, и получается +7 (899) 912-34-56 и одной цифры в конце не хватает.
Надо модифицировать js так, чтобы после заполнения маски, если пользователь вводит еще одну цифру, а первая введенная цифра 7 или 8, сдвигать все влево на 1 цифру, а 7 или 8 в начале удалять?

В одном интернет-магазине видел, что так работает маска.
Подсмотрел код - нашел такое
function(e, t, n) {
“use strict”;
Object.defineProperty(t, “__esModule”, {
value: !0
});
t.shiftPhoneCountryCode = function(e, t) {
var n = /^(8|7)/.test(t);
return 10 <= e.length && t && 10 !== t.length && n ? “” + e.slice(1) : e
}

Есть кто разбирается в js? Сможет прикрутить такое к CS-Cart? Цена вопроса?

Вот видео как это работает

Видео

1 лайк

Да тоже давно хочу поменять маску сделать ее более управляемой (.

Собственно вопрос к разработчикам тоже, может ли такой функционал войти в коробку?
@cs-cart_team

1 лайк

Только сегодня узнал о существовании такой проблемы с маской телефона.
Есть уже какое-то решение?
Главная проблема в том, то что если номер в международном формате, то цифры 8 просто невозможно ввести. Клиенты начинают набирать номер с 8, но в поле ничего не вбивается. Они бросают оформлять заказ, либо звонят.
Почему cs-cart в 2021 году году не в состоянии сделать нормальную маску телефона, которая уже есть чуть ли не на всех сайтах.

в настройка есть выбрать “Любые цифры и + -”, то буквы все равно можно вводить.

А это делали: в шаблонах прописать у необходимых полей input атрибут data-enable-custom-mask=“true” ?

нет. А где это нужно прописать?
Я так понимаю, это баг?

Подскажите, пож-ста, как поправить таки в 4.12.2 в Чекауте и в быстром заказе Юнитемы
Мне нужно +38 ХХХ ХХХ-ХХ-ХХ
Чтобы клиенты вводили только Х - цифры

1 лайк

А я хочу, чтобы номер телефона заполнялся в логике международного формата, но вместо +7 была только цифра 8, типа вот так: 8 (ХХХ) ХХХ-ХХ-ХХ
Причём, лучшим вариантом, было бы, если в поле ввода уже показывалась подсказка в том виде, в каком в итоге оно должно быть заполнено: 8 (123) 456-78-90

Почему бы не сделать настройки, чтобы каждый мог выбрать свой вариант заполнения поля с учётом кода своего региона или страны.

Там есть способ доработки, который вы хотите ну и активное молчание авторов Карта

У нас в модуле будет такая опция, но про 8 вы не правы, +7 это абсолютно нативное поведение уже.

Да и СМС провайдер любой примет у вас +7, а не 8. Без СМС оповещения магазины принимают за мертвые.

1 лайк

У нас тоже проблема с вводом номеров покупателями. Покупатели все время пишут номер через 8 и каким-то образом система позволяет им регистрироваться но когда мы присваиваем клиенту в админке группу определенную или активируем его то не дает сохранить изменения из-за неправильного номера ))
приходится в ручном режиме самим вводить номер через +7

1 лайк

Да я не против и +7, просто должно работать в формате как предложено мной. А какая цифра, особого значения не имеет, главное, чтобы эти цифры можно было вписать в настройках самостоятельно, тогда один владелец впишет код 7, а другой 375, третий 380, и настроенное отобразится в подсказке и будет работать именно в этом формате. Проще простого.

Вот вот. Эта восьмёрка у людей в подкорке.
Такая история не только у вас. И наверняка из-за этого какая-то часть покупателей бросают заказы недооформленными.

1 лайк

Если это проблема, в нашем модуле СМС логина уже реализовано исправления ввода 8 после 7.

1 лайк

Почти середина 2022, найдено решение с 8кой?

нет :man_shrugging:

Мне кажется вам проще воспользоваться нашим модулем - такую обработку в ядре точно не получите, это чистой воды доработка.