Исчезают номера телефонов в списке покупателей, если номер формата 8()

После обновления до 4.11.5 возникла проблема.
При открытии карточки покупателя, номер телефона исчеает, если он был указан в формате 8(495)000-00-00, то есть в строке телефон будет 8(-)-.-.-

Все в проядке если номер в формате +7(495)000-00-00.
Какая таблица в базе данных хранит номера телефонов и можно ли ее править вручную?

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

покупатели-покупатели-выделить-экспортировать
в либре. найти-заменить: найти “8(” заменить “+7(”
потом импортнуть обратно

сколько уже писали об этом, глупость несусветная, хранить номер телефона с форматом. Номер телефона - это только цифры, формат - способ отображения. У всех нормальных сайтов, вводишь телефон с семерки или восьмерки, или сразу с кода города или оператора начинаешь - никаких проблем не возникает, только у нас эти проблемы живы.

2 лайка

++++++++++++

Это не решение, хотя ход мысли в целом верный. Множество стран где просто замена цифр не поможет, нужно учитывать нюансы. Это только кажется заменить все символы и записать в базу. Самый простой пример 8 = +7.

Нужно учитывать специфику кода региона / страны.

@ikoshkin а посмотрите эту проблему. Кажется вот такие базовые вещи в моем мире очень важные.

1 лайк

Ну вот я смотрю…
https://codificator.ru/code/phone/#list
если первая цифра 7 - 100% код страны
если первая 8 - это либо код межгород (который надо заменить на 7), либо начало кода города. Неоднозначность есть. Но если за 8 следует 9 - это 100% мобильный оператор. Неоднозначность вызывают только коды городов 833, 834, 835, 836, 841, 842, 847, 848 - но опять же не все номера, например при наборе 833 неоднозначность возникает только если следующая цифра - 6. В любом случае для таких вариантов (которые очень просто перечислить) - дать решение просто следовать вводу.
Ну и все то же самое касается, если ввод телефона производится просто начиная с кода города.
Прекрасно понимаю, что это проще всего реализовать локально (если магазин работает на территории одной страны). Но всё-таки не так сложно, учитывая что версия CS-Cart RU существует уже очень давно.

1 лайк

Согласен, что пропадающие номера телефонов — это не дело. Но если речь о проблеме, изложенной автором темы, то для изучения маловато информации. Обычно такие вопросы решает поддержка (они могут изучить проблему в магазине), но версия 4.11.5 вышла довольно давно и уже не поддерживается.

Если речь о маске номера в целом, то в версии CS-Cart 4.17.1 ввод номера телефона стал удобнее. Там нет автоподмены 8 и +7, но уже есть возможность выбрать страну и более удобный ввод телефона.


@Williams, вы написали, что обновились до 4.11.5. Подскажите пожалуйста, на какой версии вы были до этого? Проблема может быть связана с вводом новой маски номера телефона в 4.10.1. Насколько я помню, там при открытии карточки покупателя в админке номер должен был не исчезать, а помечаться как невалидный и не давать сохранить карточку (если поле обязательное).

Вернуть старое поведение можно в меню Настройки > Внешний вид. Там в самом низу есть настройка “Допустимые номера телефонов”.

1/ А вот на вашем примере нет выбора страны и мне он собственно не нужен тк страна продажи одна – тут маска ввода мне не оч нравится как работает. Сравните как это сделано в приложении Тиньков при переводе по номеру телефона – можно так же?

2/ А как врубить выбор страны?

но у меня что то не завелось в чекауте.
Да и модули РитейлФактори и КартПовер логина по-моему это не поддерживает.

У меня тоже не завелось

обновление было с версии 4.4.3

у меня завелось, но вариант нерабочий , пропускает только +7,
поэтому пришлось возвращать классику: Исчезают номера телефонов в списке покупателей, если номер формата 8() - #10 от пользователя AndreyJ