Маска для номера телефона и placeholder для полей virtuemart

Опубликовано: 21 июня, 2016
Обновлено: 5 февраля, 2023
Категория: Расширения для VirtueMart 2, Расширения для VirtueMart 3

VmMask - плагин добавления маски для номера телефона в корзине virtuemart. Также плагин позволяет добавлять атрибут placehold для любых полей в корзине.

Плагин устанавливается стандартно через менеджер расширений. После установки в Менеджере плагинов необходимо активировать vmmask.

mask

Для работы достаточно указать id нужных полей

mask

Для добавления маски используется скрипт Masked Input Plugin.

В результате поле для ввода номера телефона будет иметь следующий вид

mask3

Атрибут placeholder позволяет добавить для поля текст по умолчанию, который будет исчезать при вводе данных.

mask4

Информация о плагине

Совместимость: Joomla 3, VirtueMart 3; Joomla 2.5, VirtueMart 2

Дата создания: 21.06.2016

Последнее обновление: 1.12.2016

Версия: 1.2

Скачать

83 комментария

    Jimichasp

    Не совсем понял в чем преимущество этого плагина?

      admin

      admin

      Плагин позволяет пользователю удобно вводить номер телефона. Пример на этой странице во вкладке Demo.

        Jimichasp

        Спасибо! Понял. Плагин и вправду крутой, как будет время, постараюсь реализовать..

    shyrik707

    Отличный плагин! Просто спас меня!

    Тимур

    У меня почему то не сработал плагин... Не подключался скрипт. Пришлось вручную... :\

      admin

      admin

      Уточните на какой версии joomla сайт?

    vogas

    Тоже не сработал плагин, Joomla 3.4.8

      admin

      admin

      Пришлите ссылку на сайт.

        vogas

        https://esteting.ru

          admin

          admin

          Судя по сайту плагин не включен. Если после включения не будет работать, то в настройках шаблона отключите оптимизацию css и js файлов.

            vogas

            Заработало! Просто не нужно было ничего менять в поле ID.
            Спасибо, отличный плагин!

            admin

            admin

            Хорошо.

    Алексей

    В "админпанели" магазина плагин не подгружает свой js код (файл jquery.maskedinput.min.js) и поэтому на вкладке "магазин" js ошибки :
    TypeError: jQuery(...).mask is not a function
    jQuery('#phone_1_field').mask('+7(999) 999-99-99').attr('placeholder','');
    из за чего не работают вкладки Продавец-Счета/Эл.почты-Информация о покупателе.
    Для исправления надо:
    В файле \plugins\system\vmmask\vmmask.php в строке 41 код:
    $doc->addScript(JURI::base().'plugins/system/vmmask/media/jquery.maskedinput.min.js');
    заменить JURI::base() на JUri::root() , получится
    $doc->addScript(JUri::root().'plugins/system/vmmask/media/jquery.maskedinput.min.js');

    т.к. В админке
    JURI::base().'plugins/system/vmmask/media/jquery.maskedinput.min.js вернет http://ВАШ домен/administrator/plugins/system/vmmask/media/jquery.maskedinput.min.js
    а JUri::root() вернет http://ВАШ домен/plugins/system/vmmask/media/jquery.maskedinput.min.js
    соответственно

      admin

      admin

      Да, в плагине есть ошибка и он подключает свои скрипты в админ панели, хотя не должен этого делать.
      Внес некоторые правки, попробуйте скачать новую версию и обновиться.

        Алексей

        Я в "торопях" нажал на уведомления о новых "комментах", удалите меня из рассылки

          admin

          admin

          Удалил.

    Алексей

    Плагин отличный, но проблема встала в том, что по привычке, клиенты вводят номер телефона не глядя. Получается +7 а дальше 89... то-есть в конце на одну цифру меньше. Может есть возможность доработать на предмет корректности вводимого номера?

      admin

      admin

      Как вариант, можно заменить код страны с +7 на 8 в настройках плагина, возможно, это поможет снизить количество ошибок при вводе.

        Алексей

        Один из вариантов... но я имел ввиду "защиту от дураков" На 8 я менял, в итоге - 889...

          admin

          admin

          В скрипте идет валидация только на ввод цифр.
          Что можно дополнительно сделать в вашем случае, не могу подсказать.

    1gr0k

    Здравствуйте. У меня не работает данный плагин, а скачал другой плагин на основе того же скрипта все заработало прекрасно (маска телефона). В чем может быть проблема? joomla 3.6.4-vm 3.0.16

      admin

      admin

      Здравствуйте!
      Чтобы точно ответить необходим доступ к админ панели сайта.
      Пожалуйста, пришлите его на admin@virtuemart.su, разберемся в чем проблема.

    1gr0k

    Прислал на почту

    1gr0k

    Еще одна проблемка образовалась, у меня на сайте в корзине есть кнопка купить без регистрации с вводом только почты и когда я нажимаю на эту кнопку меня перекидывает в саму форму корзины и маска не отображается, а отображается только когда я страницу обновлю. С чем это связано и как это исправить?

    1gr0k

    Может быть стоит дописать какой нибудь код чтоб после нажатия на кнопку"купить без регистрации" страница автоматически обновлялась. Сможете что нибудь подсказать?

      admin

      admin

      Скачайте и установите новую версию плагина.
      По поводу второго вопроса пришлите ссылку на сайт.

    1gr0k

    Спасибо за обновленный плагин.
    Сайт deku-rus.ru

    Вольф

    Добавил поле "телефон" при заказе отсутствующего товара (история с notify.php и пр.)
    Пробовал изменить код в vmmask.php на

    все равно jquery.maskedinput.min.js не подгружается.

    Подскажите как исправить ситуацию?

      admin

      admin

      Пришлите ссылку на страницу с товаром, в котором маска не работает.

        Вольф

        localhost - прислать не могу. Могу выслать лишь html код страницы. Либо, когда уже выложу сайт в сеть. P.S. Если убираю условие

        тогда подгружается.

        - это что за переменные на самом деле? Может я в условии неверно записываю параметр?

          admin

          admin

          Условие можно полностью убрать.
          Переменные отвечают за загрузку скрипта только на странице корзины и аккаунта.

            Вольф

            Мне бы не хотелось убирать условия, мне бы лучше изменить их 🙂 Боюсь, что будет конфликт с плагином kladr от Биглера.

            admin

            admin

            Выложите сайт на тестовый домен, посмотрим что можно сделать.

    Mau

    Здравствуйте. Как сделать как у вас на картинке "введите имя" и т.д.?

      admin

      admin

      Название поля автоматически выводится рядом с полем если используется стандартная корзина.
      Если корзина не стандартная, то нужно смотреть, пришлите ссылку на сайт.

        Mau

        Шаблон likeshop
        http://digitally.kz

          admin

          admin

          Все это можно сделать в настройках плагина.
          Нужно выбрать id поля и указать текст для placeholder.
          Если не получится, то создайте тему на форуме поддержки LikeShop.

    Андрей

    Здравствуйте!
    Плагин vmmask отлично работает на маску номера телефона (правда, поменял ID с phone_1_field на phone_2_field). Вопрос: подскажите, пожалуйста, почему у меня не меняется плейсхолдер в учетной записи при вставке ID и текста в остальные поля:
    2. zip_field
    123456
    3. address_1_field
    доставка в рабочее время
    4. address_2_field
    доставка вне рабочего времени
    5. city_field
    Ваш город.
    То есть, плагин обрабатывает только 1 поле, все остальные поля пропускает.
    Большое спасибо за помощь.

      admin

      admin

      Здравствуйте!
      Сейчас у Вас заполнены значения по умолчанию для этих полей. Попробуйте их удалить и отключить для теста плагин One Page. На стандартной корзине placeholder отрабатывает правильно?
      Если да, то дело в one page и нужно разбираться в чем идет конфликт.

    татьяна

    Спасибо огромное за помощь!
    плагин не сработал, админ очень оперативно ответил, что конфликт jquery и посоветовал поставить jquery easy, чтобы убрать конфликты! Просто предложение века! Сколько покупала разных плагинов, возникал конфликт, поддержка говорила "у вас конфликт, работать не будет". А тут такой совет! ОГРОМНОЕ СПАСИБО!

      admin

      admin

      Рад, что проблема решилась.

    Ruslan

    А для двух номеров можно ввести? Ввожу айди второго номер и маски ко второму номеру не появляется

      admin

      admin

      В файле /plugins/system/vmmask/vmmask.php замените

      на

      В настройках плагина в поле ввода id введите несколько id с символом # вначале через запятую, например

        Ruslan

        Спасибо. Но прописывая jQuery('".$phoneId."').mask('".$phoneMask."').attr('placeholder','" сайт перестает работать. Ошибка 500 и ничего не работает

          admin

          admin

          Поправил предыдущее сообщение, попробуйте заново внести правки.

            Ruslan

            Да отлично. Спасибо за помощь. Надеюсь всем остальным это тоже полезно будет.

    Александр

    Отличный плагин но одно маленькое но. Когда вводиш телефон с любого мобильного браузера после скобок нарушается порядок цифр. Начинает ставить цифры не по порядку. Сначала последнюю потом среднюю и первую в этом блоке. На демке http://digitalbush.com/projects/masked-input-plugin/ такая же история

      admin

      admin

      Тестировалось неоднократно многими людьми, проблем замечено не было.
      Уточните на каком смартфоне и в каком браузере появляется проблема?

        Александр

        Note3 в samsungовском и в хроме

          admin

          admin

          Судя по этой теме проблема возникает только на устройствах samsung.
          Попробуйте заменить содержимое файла /plugins/system/vmmask/media/jquery.maskedinput.min.js на это. Если это поможет, то заменю скрипт в плагине.

    Андрей

    Здравствуйте! Подскажите, у меня не работает.
    https://inst54.ru/shopping-cart

      admin

      admin

      Здравствуйте!

      На странице не подключен скрипт /plugins/system/vmmask/media/jquery.maskedinput.min.js
      Плагин включен?

        Андрей

        Вчера удалил, когда не смог)
        сейчас включил.

          admin

          admin

          Скорее всего, проблема в старой версии jQuery 1.6.4 на сайте. Попробуйте поставить плагин easy jquery и подключить версию 1.9.1

    Алексей

    Добрый день.
    Как настроить плагин так, тобы курсор, по умолчанию, ставился сразу вконце уже отображенных цыфр? +38(0|_) ___-__-__
    Некоторые пользователи начинают писать номер тел. с места отображения курсора.
    +38(0__) ___-99-99
    +38(0_9) 999-99-99
    +38(0__) 999-99-99

      admin

      admin

      Здравствуйте!

      Насколько я знаю, этой опции в скрипте Masked Input Plugin, который используется для маски, нет. Как добавить, к сожалению, не смогу подсказать.
      Если решите, пожалуйста, поделитесь.

    Olexa

    Добрый день.
    Помогите пожалуйста настроить или дополнительно дописать выпадающий список операторов?

      admin

      admin

      Здравствуйте!

      Уточните вопрос, пришлите скрин того, что должно получиться в итоге.

        Olexa

        Спасибо за отклик. Отправил на ваш e-mail

    Val

    Добрый день. Пытаюсь настроить данный плагин на j 2.5.7 и vm 2.0.20 но не получается. Еще установлена одостраничная корзина OPC, может быть в этом дело? Можете, пожалуйста, помочь решить проблему?

      admin

      admin

      Здравствуйте!
      Пришлите скрин настроек и ссылку на сайт.

        Val

        Сайт trade.mka.kh.ua. Скрины https://drive.google.com/drive/folders/1he4_LrCXATb1mB0aB-LEj90071jZHld_?usp=sharing
        Спасибо за помощь.

          admin

          admin

          На сайте подключаются 2 разных версии jquery, вероятно проблема в этом

          Нужно удалить версию 1.6.4

            Val

            Спасибо, попробую разобраться.

    JediG

    ссылка http://digitalbush.com/projects/masked-input-plugin/ не работает

      admin

      admin

      Спасибо за информацию.
      Ссылку пока не буду удалять, возможно, автор починит сайт.

    Ксения

    Плагин с первого раза не срабатывает https://sushitop22.ru/menu/sety.html
    Если в заказе обновить страницу, то срабатывает. Хотя в коде jquery.maskedinput.min.js подключается и скрипт прописывается сразу, до перезагрузки. Стоит плагин VP One Page Checkout. В стандартной корзине работает сразу. В чем может быть конфликт с One Page ? Пробовала ставить jQuery Easy и подключать 1.9.1, тогда вообще все глючит, даже стандартное добавление в корзину в категориях не срабатывает.

    Вадим

    не работает на joomla 3.9.15 + vm 3.6.10

      admin

      admin

      В настройках плагина для id укажите phone_2_field

        Вадим

        Конечно же, так и сделано, и работает на многих сайтах, а на joomla 3.9.15 + vm 3.6.10 не работает(

          admin

          admin

          В консоли ошибка

          Попробуйте в настройках Virtuemart > Настойки > Шаблоны активировать Использовать Virtuemart jQuery.

            Вадим

            Все включено), говорю же : везде работает, кроме joomla 3.9.15 + vm 3.6.10

            Странно(

            admin

            admin

            Версии не должны никак влиять, потому что плагин просто использует сторонний скрипт, никак не связанный в joomla и virtuemart.
            Попробуйте отключить плагин One Page, на стандартной корзине работает?

            Вадим

            Да в том то и дело, что везде работает), я только перенес данные на более "высокие" версии joomla и vm

            Даже не знаю куда копать)

            Вадим

            Заработало, но пришлось убрать галочку "Использовать Fancybox (рекомендуется)", видимо, что-то в шаблоне

            Спасибо.

            admin

            admin

            Спасибо, что поделились решением.

    Miguel

    Здравствуйте! Плагин работал без вопросов. На стандартной корзине. Решил поставить более удобную и функциональную от (кстати, всем на заметку - она хороша, и пока бесплатна). Всё работает. В том числе VM LikeCart. Но, к сожалению, перестал работать vmmask. Подскажите, пожалуйста, в чем может быть дело? Что могло пойти не так?

      Miguel

      название производителя новой корзины забыл указать joomla.bypv.org

        admin

        admin

        Скорее всего, проблема в том, что в корзине для поля с телефоном используется другой id.
        Посмотрите его в исходном коде и установите в настройках плагина.

          Miguel

          Это я сделал сразу. Но, к сожалению, результата пока нет 🙁

            admin

            admin

            Пришлите скрин настроек плагина и ссылку на корзину.

          Miguel

          Т.к. не совсем понятно, как прикрепить скрин к переписке здесь, отправил сообщение Вам на почту.

    Oleg

    Добрый день! Плагин отлично работает в десктопной версии. В мобильных браузерах при вводе цифры не отображаются. В jquery.maskedinput.min заменил код, как рекомендовали в комментарии выше. Подскажите в каком направлении искать.

Комментарии закрыты

С 15-18 июня admin в отпуске.

Ответы на все вопросы и ссылки на товары будут присланы 19 июня.

Спасибо за понимание и хороших выходных.

×