Назар Токар
Опубліковано: 22 Березня 2013
Оновлено: 6 Травня 2017

На три этажа вниз и два вверх соседи слушают бодрый ликвид фанк, а это значит, что я взялся за насилие над кодом и готовлю для вас что-то новенькое. Внимательные читатели блога отлично знают, о чём речь. Речь о BuyMe, скрипте для покупки за один клик на любом сайте.

buyme

Что за скрипт?

Многие из читателей просили, а кто-то даже требовал подобный скрипт. Пришлось делать. Главная его задача – позволить на любом сайте добавлять возможность покупки товаров за один клик (на самом деле два, но так лучше звучит).

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

Я несколько недель тестировал его на рабочем интернет-магазине, в результате часть заказов, ранее делавшихся черех корзину, теперь проводятся через BuyMe, общая сумма заказов увеличилась. В процентном соотношении сказать сложно, выборка небольшая, играет роль сезонность и т.д. Дадите мне такую статистику – буду благодарен.

Возможности

Теперь о возможностях. Источником для этого скрипта был “Задать вопрос по товару”, который отправлял уведомление с именем и вопросом клиента на администраторскую почту. Как несложно понять, для работы с более-менее серьёзным магазином, этого мало. Ок, добавим функций. О них по порядку:

  1. Сохранение заполненных форм. После первого заполннения формы, данные пользователя сохраняются в cookies и при использовании скрипта во второй раз, поля “Имя” и “Контакты” уже будут заполнены. Исключения: клиент почистил или отключил куки.
  2. Отправка дополнительных полей товаров. Эту возможность можно использовать, если ваши товары могут быть в разных модификациях. Так, например, это объём для карты памяти, цвет холодильника, размер белья, вес пачки чая и т.д. Более того, можно использовать сколько угодно свойств, все они будут отправлены в уведомлении. Как это настроить: для названий полей добавляйте class=’b1c_caption’, а для выпадающего поля со свойством – class=’b1c_option’. Выбранные поля сохраняются в общем массиве и не теряются при отправке. На почте это будет выглядеть так:
    buyme-fields
  3. Название товара берётся автоматически из содержимого тега <h1>. Если вы хотите сократить название или отправлять себе, например, артикул, присвойте нужному объекту class=’b1c_name’.
  4. Настройка языка. Скрипт работает с тремя языками: русский, украинский и английский. Менять язык очень просто: для этого перед вызовом buyme.js нужно разместить такую строку:
    <script>var b1c_lang = "ru";</script>

    Меняйте ru на ua или en и язык всплывающей формы поменяется. Если не указывать эту настройку, язык формы по умолчанию – русский. Кроме формы язык сменится и в письме с уведомлением.

  5. Уведомление в смс. Если вы не хотите быть привязанным к компьютеру и можете себе позволить 5-10$ в месяц на уведомления, скрипт может отправлять уведомления о новых заказах в смс. О том, как это настроить, я напишу в разделе “Настройка”. Сообщение переводится в транслит и обрезается до 160 символов, чтобы каждый заказ умещался в одно смс. Отправляются только название товара, имя, телефон и адрес клиента. Если смс не настраивать, на работу скрипта это не повлияет и уведомления будут отправляться только на почту.
  6. Подключение в одну строку. Хорошая примета: если подключать скрипт в одну строку, больше шансов, что никто не ошибётся. Так и здесь: копируете одну строку себе в темплейт сайта и всё работает. Об этом далее.
  7. Работает на любом движке. То есть вообще на любом. Будь у вас WordPress, Joomla, Drupal, OSCommerce, VamShop, Magento, Simpla, PrestaShop, да хоть голый html – скрипт будет работать. Главное – поддержка php sendmail на сервере. В 99% случаев эта функция включена. Если нет – теребите своего хостера, а не меня.
  8. Нет проблем с кодировкой. Во всяком случае, я таковых не нашёл. Найдёте – пишите.

Как выглядит в работе

Главное окно формы скрыто до тех пор, пока клиент не нажмёт на кнопку покупки. После этого посредине экрана появляется форма:

buyme-form

По клику на “Оформить заказ” данные отправляются в php-скрипт, а он проверяет данные и отправляет заявку на почту и смс. Если поля не заполнены, выдаёт ошибку. Если всё ок, пишет, что запрос отправлен и вам перезвонят.

Как установить и настроить

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

Чтобы установить скрипт, воспользуйтесь инструкцией по установке Buyme.

Кстати, почитайте статью на тему Как удвоить продажи магазина при помощи одной кнопки.

Настройка СМС-уведомлений

О том, как настроить уведомления в смс, читайте в отдельном посте: Настройка SMS для уведомлений в скриптах Callme и Buyme.

Возможные проблемы

Внимательно читайте посты, это позволит избежать почти всех возможных вопросов с установкой. Если таковые всё же будут, задавайте.

Требования к хостингу и движку сайта

Абсолютно любой движок и хостинг.

Сколько стоит скрипт?

Вы можете пользоваться скриптом бесплатно, если оставляете мой копирайт на нём. Вы также можете поддержать разработку, пожертвовав сумму, которую считаете нужной, электронными деньгами (wm, яд, qiwi) или на карту. Реквизиты здесь.

Сеошники и люди, которые боятся оставлять исходящую ссылку с сайта: ссылка создаётся динамически в js, соответственно, ссылочного веса не переносит.

От автора

Это важный для меня скрипт, я долго работал над ним, вложил в него немало сил. Пожалуйста, отпишитесь в комментарии о том, как он помог вам в работе или какое впечатление у вас от BuyMe. Спасибо.

Демо и скачать

В демо-версии для примера есть два выпадающих списка: цвет корпуса и карта памяти. Но вообще их может быть любое количество.

А скачать скрипт можно тут:

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

PS: пожалуйста, насоветуйте движок для форума по поддержке скриптов. Чтобы был прост в работе, двухъязычен и просто настраивался. Желательно бесплатный.

PSS: Проверка правописания на розетке – выполнено:

rozetka-ok

Засновник і керівник видання Tokar.ua. Програміст, адміністратор української Вікіпедії.
← Тисни «Лайк», щоб читати нас у Фейсбуці
Поширити у Фейсбуці
Надіслати у Messenger
Надіслати в Telegram
Надіслати у WhatsApp
Зберегти в Pocket
Обговорення

  1. Иван

    Назар, я разобрался. Все работает. Спасибо Вам

  2. Иван

    Уважаемый Назар, подскажите что я делаю не так? Вот что я сделал:

    1 – Скопировал в корень сайта еще одну папку callme со всем содержимым и переименовал ее в callmeukr.
    2 – В этой папке переименовал js в jsukr и в ней callme.js в callmeukr.js
    3 – В index.php шаблона вписал код активации именно этого варианта скрипта(на укр. языке):
    4 – В материале сайта добавил класс к кнопке: <a class="callmeukr_viewform"

    На русском все работает, а на украинском не работает кнопка.
    Что у меня не так здесь скажите пожалуйста?

    1. Иван

      Я добился того что у меня по отдельности два скрипта работают.
      В index.php я прописал код (ставлю пробелы так как код не пропускает)
      И в материале сайта когда указываю класс копки <a class="callme_viewform" то открывается на украинском форма.
      А когда ставлю то открывается на русском. Когда оба эти кода ставлю вместе то открывается только русский. Где нужно поставить этот код чтоб определяло именно для украинского украинский а для русского русский. Формы уже работают но работают по отдельности. Понял что в классе кнопки нельзя менять callme на callmeukr. Псле таких изменений форма не работает. Помогите пожалуйста

    2. Используйте теги code и pre, чтобы код не удалялся. Если кода много, есть jsfiddle.

    3. Иван

      @Назар Токарь, Да. Спасибо. В продолжении разговора. В index.php я ставлю вот такой код для русского первая строка:
      <script type="text/javascript" charset="utf-8" src="/callme/js/callme.js"></script>

    4. Иван

      @Назар Токарь, и для украинского вторая строка <script type="text/javascript" charset="utf-8" src="/ukrainian/callme/js/callme.js"></script>
      Когда они в две строки, то сайт отображает форму которая вторая в строке(ниже). Если я меняю их местами(ту что біла снизу ставлю наверх) то форма соответственно меняется так-же на другую. Обе работают. И русская и украинская.

    5. Иван

      @Назар Токарь, может нужно в материале сайта добавить к классу кнопки путь именно к украинской форме? То есть что-то дописать?

    6. Если обе кнопки работают, то в чём вопрос?

  3. Иван

    Здравствуйте, подскажите пожалуйста, как сделать CallMe и BuyMe чтоб работали на трех языках? Если сайт на русском, то они на русском, а если на украинском или английском, то они соответственно на тех языках. Заране спасибо Вам большое

    1. @Иван, вы можете устанавливать три копии скрипта для каждой версии сайта и запускать соответсвующую в нужных разделах.

    2. Иван

      @Назар Токарь, Спасибо что так быстро ответили. У меня хранится Buy me и CallMe в корне сайта. У меня один шаблон. В котором настроены языки через админ панель. Куда конкретно нужно скопировать три версии этих плагинов(скриптов) в корень сайта туда же где и первый? Но только присвоить им названия CallMe_ukr и так же для BuyMe_ukr? И как к ним потом обратиться с помощью вызова скрипта например при установке кнопки в материале сайта. (Стандартный способ обращения к кнопке и ее активацию я понял уже)

    3. @Иван, место сохранения роли не играет. А как вызывать, зависит от шаблона. Думаю, в одной из следующих версий сделаю разные конфиги с разными языками, но на данный момент только так как я написал.