Настройка регистрации в VirtueMart

Опубликовано: 13 Апрель, 2018
Обновлено: 14 Апрель, 2018
Категория: Настройка VirtueMart
Комментариев: 2

Без лишних предисловий переходим сразу к делу. Есть два варианта регистрации пользователей в virtuemart.

Регистрация через стандартную форму Joomla

При таком способе все пользователи будут автоматически зарегистрированы и в virtuemart, поскольку данные о пользователях virtuemart берутся из общей таблицы пользователей joomla.

Это удобно, но применяется очень редко, поскольку кроме стандартных пользовательских полей joomla в virtuemart есть дополнительные поля (например, Имя,  Адрес, Телефон и т.д.), которые также могут понадобиться при регистрации. Поле Имя (first_name) используется почти всегда, но при стандартной регистрации joomla оно останется пустым и пользователю его придется дополнительно заполнить. В итоге получается какая-то полурегистрация. Плюс к этому у пользователя может возникнуть непонимание, почему при регистрации он указывал имя (в поле Отображаемое имя), а в личном кабинете virtuemart и при заказе его нет. О причинах такого поведения чуть ниже.

В virtuemart 3.2.10 был добавлен плагин VM Framework Loader during Plugin Updates, который редиректит со стандартной формы регистрации joomla на страницу с регистрацией virtuemart. Отключите его, если не получается перейти на страницу с регистрацией joomla.

Регистрация через форму virtuemart

В virtuemart есть встроенная форма регистрации пользователей. Отобразить ее можно, создав пункт меню с типом Virtuemart > Учетная запись. Для незарегистрированных пользователей будут показаны формы авторизации и регистрации, для зарегистрированных - личный кабинет, в котором можно изменить свои данные и посмотреть все заказы.

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

Первый этап упрощения регистрации - это отключение всех ненужных полей.

На скрине видно, что все поля делятся на 2 блока - стандартные поля для регистрации  в joomla и дополнительные поля virtuemart.

При регистрации средствами joomla все данные о пользователе хранятся в таблице  _users. Virtumeart использует эти данные, плюс в таблице _virtuemart_userinfos хранятся данные из дополнительных полей самого магазина.

В Virtuemart > Настройки > Поля, заполняемые пользователями можно настроить все дополнительные поля.

На странице регистрации показываются поля, у которых в настройках активна опция Показать в учетной записи.

Отключим все лишние поля и в списке всех полей зададим правильный порядок следования.

Отключив все лишние поля и оставив только поле с именем покупателя (first_name), мы получим уже более приятную форму.

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

Имя - единственное дополнительное поле от virtuemart.

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

Настройки регистрации пользователей находятся в Пользователи > Менеджер пользователей > Настройки.

Разрешить регистрацию пользователей - опция обязательно должна быть активна.

Группа для регистрирующихся пользователей - относится к группам пользователей joomla, в virtuemart можно присвоить собственные группы в Virtuemart > Заказы и покупатели.

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

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

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

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

Теперь поля с именами. Все три поля необходимы для правильной регистрации, но в форме нужно показать только одно. Я предлагаю в поле Имя пользователя копировать данные из поля Эл. почта, а в поле Отображаемое имя автоматически копировать данные из поля Имя.

Поля будут заполняться автоматически, поэтому с помощью css их можно просто скрыть. Плюс в качестве приятного дополнения пользователи смогут авторизовываться не по логину, а по email (логин и почта будут совпадать), как это сделано на большинстве сайтов. Если на сайте уже есть зарегистрированные пользователи, то можно установить плагин Authentication - EMail, чтобы все пользователи могли авторизоваться по email.

Автозаполнение и скрытие лишних полей нужно настроить на следующих страницах:

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

Для автозаполнения и скрытия всех лишних полей на сайте можно использовать плагин VM Clean Registration.

Совместимость: Joomla 3; Virtuemart 3

Скачать

После стандартной установки в Менеджере плагинов нужно активировать плагин VM Clean Registration и выбрать поля, которые нужно скрыть.

Результатом работы плагина станет вот такая форма регистрации.

Плагин бесплатный. Если он помог в работе, то можно поддержать проект.

По поводу капчи при регистрации. Если коротко, то встроенная recaptcha в форме регистрации virtuemart пока работает с ошибками. Почитать подробнее и найти альтернативу можно в этой статье.

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

В письме по умолчанию будут показаны все поля.

Отредактировать шаблон письма можно в файле /components/com_virtuemart/views/user/tmpl/mail_html_reguser.php. Удалите или закомментируйте следующие строки

и замените

на

Чтобы изменения сохранились после обновления скопируйте измененный файл в папку /templates/имя_шаблона/html/com_virtuemart/user/.

После всех правок письмо будет выглядеть так.

На этом всё. Статья получилась объемная но, я надеюсь, полезная.

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

    N1

    ЗдОрово, всё получилось, огромное вам спасибо! Наконец-то эта регистрация с тремя полями имён в прошлом.

      admin

      admin

      Рад, что статья оказалась полезной.

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

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

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