Документация к плагину "Нормальная маска телефона"

Настройки плагина (как в админке)

Настройки плагина представлены для демонстрации. Некоторые используемые скрипты из настроек плагина не адаптированы для их корректной демонстрации в документации (размер иконок, сворачивание кратких описаний каждой настройки, маски для некоторых полей, итп). Скоро эта проблема будет решена. Извините за неудобства. В настройках плагина все отображается корректно!

Также представленные в документации настройки некоторых плагинов могут быть неактуальными.

  • Работа плагина во фронтенде
  • Работа плагина в бекенде
  • Работа плагина совместно с другими продуктами
  • Дополнительные настройки

Работа плагина во фронтенде


Для корректной работы плагина обязательно отключите маску для поля "Телефон" в настройках других продуктов.

Для корректной работы плагина обязательно отключите маску для поля "Телефон" в настройках других продуктов.

Чтобы плагин работал на странице регистрации, необходимо чтобы страница регистрации работала на поселении приложения "Магазин" (на поселении других приложений плагин работать не будет). Редактирование настроек личного кабинета осуществляется в разделе "Сайт" --> "*Витрина сайта*" --> "Личный кабинет".

Чтобы плагин внедрял маску на поле "Телефон" на странице авторизации, необходимо произвести настройки личного кабента согласно инструкции, а также настроить поле "Телефон" определенным образом (см. документацию).
>> Подробнее в документации

Для корректной работы плагина обязательно отключите маску для поля "Телефон" в настройках плагина "Купить в 1 клик"

Для корректной работы плагина обязательно отключите маску для поля "Телефон" в настройках плагина "Заказ в 1 шаг"

Для корректной работы плагина обязательно отключите маску для поля "Телефон" в настройках плагина "Заказ обратного звонка"
Сгенерировать документацию
Инструкция по настройке плагина
  1. Установите плагин
  2. Зайдите в настройки плагина («Магазин» --> «Плагины» ---> «Нормальная маска телефона»)
  3. Включите плагин
  4. Активируйте те настройки плагина, которые вам необходимы. Не включайте вывод маски на формах плагинов, которые вы не используете. Иначе плагин выведет на вашем сайте скрипты, которые не будут использоваться, что, пусть и незначительно, но увеличит время загрузки страниц вашего сайта.
  5. Если вы используете маску телефона на формах плагинов Bodysite, то обязательно отключите маски телефонов в настройках плагинов Bodysite. Во всех плагинах Bodysite маска телефона включается через заполнение соответствующего поля в настройках формы, выглядит это примерно так: Очистите это поле, чтобы получилось вот так: И после этого не забудьте после этого сохранить настройки плагина. Повторите это действие для всех используемых плагинов Bodysite.
  6. Если вы используете маску телефона на странице оформления заказа в корзине и у вас установлен плагин Подсказки к оформлению заказа, то обязательно отключите маску телефона в настройках данного плагина. В данном плагине маска включена по умолчанию в настройках плагина (в админке название плагина: BNP Dadata). Зайдите в настройки плагина, найдите это поле: Очистите это поле, чтобы получилось вот так: И после этого не забудьте сохранить настройки плагина (кнопка расположена в нижней левой части экрана, немного внизу).
  7. Если вы используете маску телефона на странице оформления заказа в корзине и у вас установлен плагин Форматирование и проверка телефонного номера, то обязательно отключите данный плагин в инсталлере. Данный плагин может внедрять свои скрипты даже при отключении его в настройках плагина! Поэтому отключать его нужно именно в инсталлере!
Обозначения некоторых настроек
Вывод маски на странице авторизации (/login/)

Если вы используете или планируете начать использовать на странице авторизации на сайте номер телефона (вместо стандартного Email), то для подкючения к маски выполните следующие действия:

  1. Зайдите в приложение "Сайт" в бекенде вашего сайта
  2. Выберите витрину, на которой будете производить настройки
  3. Перейдите во вкладку "Личный кабинет"
  4. Убедитесь, что личный кабинет работает через приложение "Магазин". Если выбрано другое приложение - смените его на "Магазин". Это важно.
  5. Убедитесь, что у вас включена авторизация по телефону и отключена авторизация по Email. Если вы хотите внедрить маску телефона для поля "Телефон", то авторизация по Email должна быть отключена, иначе маску применять некорректно: для авторизации используется одно и то же поле и заранее узнать что будет вводить пользователь: Email или телефон мы не знаем.
  6. Откройте настойки страницы входа
  7. Убедитесь, что в названии освного поля авторизации указано именно "Телефон", а не "Телефон или Email". И в значении поля обязательно напишите "Телефон" как показано на скриншоте ниже. Значение этого поля обычно является подсказкой к полю (placeholder), а плагин обычно перебивает это значение и либо устанавливает в качестве подсказки действующую маску телефона, если это задано в настройках плагина. Однако в случае со страницей авторизации это значение перебиваться не будет, и вместо этого будет просто визуально скрыта,поскольку плагин использует его для идентификации поля и внедрения для него маски (иначе кроме как по placeholder-у отличить поле от поля Email не получится, т.к. разработчики Webasyst не вывели в коде странице отличительные классы для данных полей).
  8. Откройте страницу входа на вашем сайте (например, в отдельной вкладе браузера в режиме инкогнито) и проверьте корректность работы маски.
Инструкция по интеграции плагина в другие продукты (для разработчиков)

Плагин из коробки работает со всеми штатными формами приложения "Магазин", использующих поле для ввода номера телефона. Если вы хотите использовать нормальную маску телефона на форме своего плагина или на какой-нибудь нестандартной форме своей темы дизайна - можете использовать метод плагина "getPhonemaskScripts".

Для интеграции плагина в свою тему дизайна используйте следующий код (Smarty):

{if $wa->shop} {if method_exists('shopPhonemaskPlugin', 'getPhonemaskScripts')} {shopPhonemaskPlugin::getPhonemaskScripts('.selector')} {/if} {/if}



Для интеграции плагина в свой плагин используйте следующий код (PHP):

if (wa()->appExists('shop')) { if (method_exists('shopPhonemaskPlugin', 'getPhonemaskScripts')) { shopPhonemaskPlugin::getPhonemaskScripts('.selector'); } }

Метод вернет JS скрипт, который внедряет нормальную маску телефона для элемента, селектор которого вы укажите в параметре. В примере выше в качестве селектора указан '.selector'. Используйте вместо него свой селектор. Например: '.myplugin input[name*="[phone]"]'.

Важные моменты

Скрипт не только внедрит маску, но и заполнит атрибут "placeholder", если такая опция включена в настройках плагина. Если вы этого не хотите (например, если на вашей форме это отображаться некорректно/некрасиво) - передайте значение "false" вторым параметром функции: "shopPhonemaskPlugin::getPhonemaskScripts('.selector', false)". Тогда в вернувшемся JS коде не будет добавлен скрипт для заполнения атрибута "placeholder", независимо от настроек плагина.

В скрипте, возвращаемым плагином, JS код выводится в событии "$(document).ready(function()". Поэтому, если вы хотите, например, подключить нормальную маску телефону для полей формы, открывающейся во всплывающем окне, - обратитесь к методу плагина именно из формы.

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

Библиотека, необходимая для работы плагина, выведется плагином отдельно через хук "frontend_footer". Если вы хотите подключить маску для своего продукта в бекенде, или во фронтенде, где в темах дизайна не выводится данный хук - напишите в поддержку плагина. По запросу, мы выпустим обновление плагина и добавим возможность запрашивать вывод библиотеки с помощью дополнительного параметра при обращении к методу плагину.
FAQ
Проблема. Что делать если плагин не работает в корзине сайта?
  1. Убедитесь, что вы произвели настройку плагина согласно инструкции. Пожалуйста, будьте внимательны и проверьте каждый пункт!
  2. Убедитесь, что вы проверяете действительно ТУ корзину сайта, для которой активировали соответствующую опцию в настройках плагина.
  3. Если плагин не работает в корзине /order/ - проверьте наличие хука frontend_order в вашей теме дизайна и, в случае его отсутствия, выведите его (как это сделать).
  4. Если плагин не работает в корзине /cart/ - проверьте наличие хука frontend_cart в вашей теме дизайна и, в случае его отсутствия, выведите его (как это сделать).
  5. Если плагин не работает в корзине, настроенной через плагин Заказ в 1 шаг (Bodysite), включенной на странице /cart/, - проверьте наличие хука frontend_cart в вашей теме дизайна и, в случае его отсутствия, выведите его (как это сделать).
  6. Если плагин не работает в корзине, настроенной через плагин Заказ в 1 шаг (Bodysite), включенной на странице /checkout/, - проверьте наличие хука frontend_checkout в вашей теме дизайна и, в случае его отсутствия, выведите его (как это сделать).
  7. Если плагин не работает в корзине, настроенной через какой-либо другой плагин (например, Заказ на одной странице или любой другой - см. ответ на вопрос У меня есть форма, с которой плагин из коробки не работает. Как можно интегрировать плагин?
Проблема. Что делать если плагин не работает на форме плагина "Купить в 1 клик" (buy1click)?
  1. Убедитесь, что вы произвели настройку плагина согласно инструкции. Пожалуйста, будьте внимательны и проверьте каждый пункт!
  2. Если плагин не работает в корзине /cart/ - проверьте наличие хука frontend_cart в вашей теме дизайна и, в случае его отсутствия, выведите его (как это сделать).
  3. Если плагин не работает на других страницах сайта (в карточках товаров или в листинге) - проверьте наличие хука frontend_footer в вашей теме дизайна и, в случае его отсутствия, выведите его (как это сделать).
  4. Если вы убедились в корректности всех настроек, но плагин все равно не работает - обратитесь в техническую поддержку.
Проблема. Что делать если плагин не работает на других формах?
  1. Убедитесь, что вы произвели настройку плагина согласно инструкции. Пожалуйста, будьте внимательны и проверьте каждый пункт!
  2. Проверьте наличие хука frontend_footer в вашей теме дизайна и, в случае его отсутствия, выведите его (как это сделать).
  3. Если вы убедились в корректности всех настроек, но плагин все равно не работает - обратитесь в техническую поддержку.
Вопрос. У меня есть форма, с которой плагин из коробки не работает. Как можно интегрировать плагин?
  • Вариант 1 (оптимальный): обратитесь к разработчику продукта, на форме которого вы хотите вывести нормальную маску телефона. Попросите его интегрировать свой продукт с плагином "Нормальная маска телефона" в обновлении и пришлите ссылку на документацию.
  • Вариант 2: обратитесь к любому разработчику за индивидуальной доработкой вашего продукта, на форме которого вы хотите вывести нормальную маску телефона. Поставьте задачу интегрировать установленный у вас продукт с плагином "Нормальная маска телефона" в виде индивидуальной доработки и пришлите ссылку на документацию. Однако учтите, что после индивидуальной доработки вам придется либо отказаться от обновлений продукта, либо каждый раз переносить доработку в индивидуальном порядке.

    Стоимость такой доработки нашими силами - в районе 1000 руб. (зависит от продукта, который вы хотите доработать).
Вопрос. Как быть с покупателями без российского номера телефона?

На текущий момент плагин не поддерживает форматы телефонного номера, отличные от российского формата "+7". Если вы работаете с покупателями из других стран - рекомендую отказаться от использования плагина. Возможно, в будущем плагин начнет поддерживать международные форматы номеров телефонов.

Хочу скидку на плагин! Дадите?

На все наши продукты действует скидка 50% на повторные лицензии. На покупку первой лицензии скидок нет.

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

Хочу скидку на услуги! Дадите?

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

Хочу настройку плагина бесплатно! Сделаете?

Нет. Мы не осуществляем настройку плагинов на бесплатной основе. К каждому плагину прилагается подробная документация и мы прилагаем максимум усилий для того, чтобы разобраться с каждым плагином мог даже неопытный пользователь.

Если вы не можете или не хотите самостоятельно настраивать плагин - вы можете обратиться за помощью к стороннему специалисту, либо заказать у нас платные услуги.

Хочу настройку плагина платно! Сделаете?

Зависит от текущей загрузки. Свяжитесь с нами любым удобным образом и уточните детали.

Обычно мы настраиваем плагины в рамках комплексных услуг. Например, настраиваем плагины "SEO Link Canonical" и "SEO Meta Robots" в рамках услуги Оптимизация сайта с внедрением региональных поддоменов (SEO), а плагин "Доработки оформления заказа в корзине" в рамках услуги Продвинутая настройка оформления заказа в корзине.

Рекомендуем ознакомиться со всеми нашими комплексными услугами.

Техническая поддержка
  • Техническая поддержка осуществляется только через личный кабинет. Инструкция по созданию заявки здесь. Пожалуйста, не пишите на электронную почту и в мессенджеры.
  • Техническая поддержка обычно осуществляется в рабочее время: Пн-Сб 08:00-17:00 (мск).
  • Среднее время реакции на обращения: 2-3 часа
  • Максимальное время реакции на обращения: 2-3 рабочих дня