эти не помогли ((( последний уже завтра поковыряю.
Спасибо за помощь!
Доработать маску (плейсхолдер) телефона в ядре Карта
Только этот вариант сработал, спасибо.
Что интересно - я изменил в файле /js/lib/inputmask-multi/phone-codes.json строку
{ “mask”: “+38(###)###-##-##”, “cc”: “UA”, “name_en”: “Ukraine”, “desc_en”: “”, “name_ru”: “Украина”, “desc_ru”: “” },
Ничего не произошло, а вот в один клик такое поведение без модуля маски http://joxi.ru/LmGoXkOhJYKoYm
Беда. При редактировании заказа клиента - не даёт ввести код +44 (Великобритания есть в списке стран). Где это регулируется вообще?
Ну да. А что делать с телефонами городскими, когда код города начинается на 8? Например +7 812 123-45-67 для Санкт-Петербурга?
Пробовал Ваш вариант. Увы, не рабочий
А что делать с телефонами городскими
К сожалению да, скрипт выше подойдет только для мобильных номеров одного формата. Для нескольких форматов надо допиливать валидатор, но я не вникал как это можно сделать, так как в моем случае в этом нет необходимости.
они таки файл обновили и ввод номера слетел ))
проверьте кто правил
/js/lib/inputmask-multi/phone-codes.json
Здравствуйте, кто подскажет как заставить работать этот скрипт
При регистрации аккаунта для поля телефон
Можно добавить дополнительный селектор, который есть у полей телефона в CS Cart.
В скрипте заменить:
$('input[type="tel"]').inputmask({
на:
$('input[type="tel"], input[x-autocompletetype="tel"]').inputmask({
И почистить кэш CS Cart и браузера.
спасибо, только не помогло. Везде работает в один клик, обратный звонок, оформление заказа при регистрации аккаунта не хотит
После внесения правки попробуйте в другом браузере проверить поле, бывает что js-кэш не сразу сбрасывается
Может тут более подходящий вариант правки полей самого шаблона ?views/profiles/components/profile_fields
<label
for="{$id_prefix}elm_{$field.field_id}"
class=“ty-control-group__title cm-profile-field {if $field.autocomplete_type == “phone-full” || $field.field_type == “ProfileFieldTypes::PHONE”|enum}cm-mask-phone-label{/if} {if $field.required == “Y”}cm-required{/if}{if $field.field_type == “Z”} cm-zipcode{/if}{if $field.field_type == “E”} cm-email{/if} {if $field.field_type == “Z”}{if $section == “S”}cm-location-shipping{else}cm-location-billing{/if}{/if}”
>{$field.description}
Попробуйте еще так:
$('input[type="tel"], input[x-autocompletetype="phone-full"]').inputmask({
Либо в указаном шаблоне найдите код:
<input
{if $field.autocomplete_type}x-autocompletetype="{$field.autocomplete_type}"{/if}
type="text"
id="{$id_prefix}elm_{$field.field_id}"
name="{$data_name}[{$data_id}]"
size="32"
value="{$value}"
class="ty-input-text{if ($field.autocomplete_type == "phone-full") || ($field.field_type == "ProfileFieldTypes::PHONE"|enum)} cm-mask-phone{/if} {if !$skip_field}{$_class}{else}cm-skip-avail-switch{/if} {if $smarty.foreach.profile_fields.index == 0} cm-focus{/if}" {if !$skip_field}{$disabled_param nofilter}{/if}
/>
и замените на:
<input
{if $field.autocomplete_type}x-autocompletetype="{$field.autocomplete_type}"{/if}
type={if ($field.autocomplete_type == "phone-full")}"tel"{else}"text"{/if}
id="{$id_prefix}elm_{$field.field_id}"
name="{$data_name}[{$data_id}]"
size="32"
value="{$value}"
class="ty-input-text{if ($field.autocomplete_type == "phone-full") || ($field.field_type == "ProfileFieldTypes::PHONE"|enum)} cm-mask-phone{/if} {if !$skip_field}{$_class}{else}cm-skip-avail-switch{/if} {if $smarty.foreach.profile_fields.index == 0} cm-focus{/if}" {if !$skip_field}{$disabled_param nofilter}{/if}
/>
Тогда у поля будет тип “tel” вместо “text” и скрипт маски сработает.
Первый вариант предпочтительней, чтоб не править шаблон напрямую.