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

Опубликовано: 21 Июнь, 2016
Обновлено: 1 Декабрь, 2016
Категория: Расширения для VirtueMart 2, Расширения для VirtueMart 3
Комментариев: 50

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

Скачать

50 комментариев

    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 на это. Если это поможет, то заменю скрипт в плагине.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*
Для вставки кода заключите его в теги [php] [/php]
*