Назар Токар
Опубліковано: 23 Вересня 2013
Оновлено: 26 Серпня 2017

Я перенес инструкцию по установке скрипта Buyme в отдельный пост и по мере выхода новых версий или нахождения багов этот пост будет обновляться. В постах о новых версиях будет список изменений и ссылка на инструкцию.

Настройка Buyme

Самая свежая версия — 1.4, скачать.

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

В редакторе кода, например Sublime Text или Notepad++ (не блокноте) откройте файл buyme/lib/send.php и укажите почту или несколько адресов почты, куда скрипт будет отправлять уведомления:

//адрес почты для отправки уведомления
$to = "yourMail"; //несколько ящиков могут перечисляться через запятую

Все настройки кроме смс-уведомлений и адреса почты с версии 1.3.0 хранятся в файле js/config.js. В нем можно указать поля для формы, заголовок, название кнопки. Вам потребуются оттуда такие переменные:

var bmeData = {
 "caption.description": "Чтобы оформить заказ, заполните форму. В течение пары часов с вами свяжется менеджер и уточнит детали заказа, а также время доставки.", // описание в форме
 "caption.title": "Купить", // заголовок формы
 "caption.button": "Оформить заказ", // надпись на кнопке

 "caption.sending": "Отправка", // отправка
 "caption.error": "Заполните все поля", // заполните все поля

 "txt.yes": "Да",
 "txt.no": "Нет",

// укажите названия полей через запятую
// чтобы добавить textarea, перед названием добавьте минус (-)
// выпадающий список: !Название!Вариант1!Вариант2...
// checkbox: ?Вопрос

 "fields": "Ваше имя(Укажите имя), Телефон (Номер телефона)*, -Адрес доставки(Укажите город и адрес доставки)*, !Доставка!Самовывоз!Курьерская доставка, ?Подарочная упаковка",

 "template": "default", // template name (default)

 "license": "0", // ключ лицензии (можно купить на get.nazartokar.com)
 "showCopyright": "0" // показывать ли копирайт?
}

Сохраняйте файл и убедитесь, что на сервере отредактированная версия. Это все настройки.

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

Инструкция по настройке смс

Настройка SMTP-отправки

Если письма по какой-то причине не отправляются, вы можете настроить smtp-отправку. Инструкция по настройке SMTP.

Установка Buyme

Не забудьте убедиться, что до этого уже был подключен jQuery версии не менее 1.4.4. Если его нет, можете подключить его из папки скрипта этой строкой:

<script type="text/javascript" charset="utf-8" src="/buyme/js/jquery.js"></script>

Когда файлы загружены, нужно добавить код для корректной работы скрипта. Это делается так: открываете шаблон вашего сайта и в <head> добавляете строку с вызовом скрипта:

<script type="text/javascript" charset="utf-8" src="/buyme/js/buyme.js"></script>

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

class='b1c-good'

Обратите внимание: если вы обновляетесь до 1.4.0, то код на странице товара также нужно обновить.

Далее к названию товара нужно добавить

class='b1c-name'

А все дополнительные поля (если они нужны) обработать таким образом: нужному полю добавляете атрибут:

data-bme="Имя поля"

Таким образом можно “собирать” такие типы элементов:

  • выпадающие списки (select)
  • текстовые поля (input type=”text”)
  • текстовые блоки (textarea)
  • чекбоксы (checkbox)
  • радио-списки (radio)
  • любые строчные и блочные элементы (p, div, span и так далее).

Название поля скрипт возьмет из атрибута data-bme, а значение — в зависимости от типа элемента.

Если вы размещаете скрипт на странице с несколькими товарами, каждый из товаров нужно “обернуть” блоком с классом b1c-good. После этого сохраните все настройки, почистите кэш, скрипт настроен.

Установка кнопки

В том месте, где вы хотите видеть кнопку для заказа, добавляйте такой код:

<button class="b1c">Купить за 1 клик</button>

Не получается?

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

Возможные ошибки при установке я собрал в одном посте «Возможные ошибки при установке».

Как убрать копирайт

Читайте инструкцию в посте «Как убрать копирайт из Callme и Buyme».

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

  1. Alexandr

    Здравствуйте Назар, очень хороший скрипт. Подскажите как в buyme убрать из СМС ЮРЛ, Имя, телефон?
    А так же как приобрести лицензию?

  2. Максим

    Здравствуйте. Установил Bayme на сайт. Кнопка выводится в карточке товара. При нажатии на кнопку окно не всплывает, а отправляет в стандартные шаги оформления заказа в корзине. Сайт на Joomla 3.8 +JoomShopping. Не подскажите возможную причину. Сайт http://e-perina.com.ua

    1. Схоже, що кнопка обробляється вашим js магазину і не дає Buyme відкрити форму, тож я б радив прибрати всі класи окрім Buyme і додати стилі до нього.

    2. Максим

      Спасибо за ответ. Как я понимаю нужна работа с кодом. Я в этом новичок. Будем разбираться.

  3. Руслан

    Доброго дня, Пiдкажiть будь ласка, яка цiна за встановлення Bayme на сайтi ?

    1. Вітаю, на форумі вам відповів.

  4. Володимир

    Добрый.
    Подскажите, а можно ли изменить надпись, которая появляется после успешной отправки? В инструкции есть только надпись процесса отправки. В файлах тоже не нашел. Спасибо.

    1. Всі написи міняються або в send.php, або в buyme.js.

  5. Has Be

    Дивно, Ви пишете що в 1251 тепер теж все чітко буде, а насправді одні ієрогліфи. Потратив декілька годин, плюнув…
    Якщо щось підскажете то буде добре. Ось примір сторінки http://sbmtour.com.ua/countries/ukraina/tury-po-ukraine/tury-iz-kieva-1-den/kozja-ferma.html

    1. Файл підключено правильно, але config.js збережений у неправильному кодуванні. Перекодуйте його у інший, почистіть кеш.

      Ось про що я говорю:
      "caption.error": "Çàïîëíèòå âñå ïîëÿ"

  6. masinc

    имеется текстовое поле для указани количества на заказываемого товара на сайте
    но значение не отправляется
    если кусок кода data-bme=”количество” добавить к любому другому полю значение отправляется, именно количество товара не отправляется. Где-то конфликт

    1. Мінімально 2 символи. На форумі написано, як це виправити.

  7. masinc

    добавляю поле textarea к форме. Хочу чтобы пользователь указывал количество заказываемого товара. но оно работает если минимум указывать 2 значения. при указании 1 цифры поле не отправляется на почту.

  8. Виктор

    Подскажите в чем может быть проблема:
    делаю все по инструкции, размещаю кнопку, при нажатии на нее форма не появляется, появляется только начало формы – http://joxi.ru/v29Oz7bCWJ30rG

    конфликт скриптов?

    1. ХЗ, ви ж навіть не дали лінк на сайт.

    2. У вас якийсь перероблений модуль Buyme, зверніться до його «розробника».

    3. Виктор

      сейчас установил ваш, с вашего сайта – не работает

    4. Якщо ви приберете друге підключення jQuery і Buyme, то можливо запрацює.

    5. Виктор

      не помогло(

    6. Мабуть, тепер залишилось додати розмітку для товару на його сторінку? Як вважаєте?

    7. можете подсказать, что нужно сделать?

    8. Як мінімум — клас для товару і клас для імені. Інструкція, сер.

  9. ЕГор

    Добрый день, есть ли возможность прикрутить к форме картинку товара? Ее можно и не отправлять на почту, просто закинуть в popup.

  10. Все очень классно!
    Но почему отправка заказа идет так долго? (где-то 30 сек., затем только идет сообщение об успешной отправке)

  11. Владимир

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

  12. Назар, подскажи, можно ли изменить внешний вид окна Buyme? В templates лежит один вариант default, у CallMe несколько тем оформления. Возможно ли использовать темы CallMe для Buyme?

    1. Вітаю, міняти можна, але теми з Callme до Buyme не підходять. Тому відкривайте templates/default/style.css і редагуйте як завгодно.

  13. Станислав

    #ХОТЕЛКА
    Добрый день!
    Было бы круто еще картинку передать в модальное окно, и параметры чтобы можно было задать для этой картинки.
    Спасибо за ваш труд. Очень помогает в работе.

  14. Александр

    При нажатии на кнопку ничего не происходит, или перекидывает на верх – уже видел, что кто-то с таким здесь сталкивался.
    Я выявил причину, рекомендую проверить htaccess

    у моем случае из-за
    ##Removing the .html suffix
    RewriteCond %{REQUEST_URI} \.html$
    RewriteRule (.*)\.html$ /$1 [R=301,L]

    скрипт не работает, если удалить эти пару строчек оттуда начинает работать.

    Вопрос к Назару – как сделать, чтобы скрипт работал с этой строчкой?

    1. @Александр, убрать эти две строки проще всего, толку от них крайне мало.

    2. Александр

      @Назар Токарь,
      эти строки удаляют дубли.
      ведь страница может быть доступна как
      sait.ru/page
      sait.ru/page.html
      и чтобы не было дублей удаляется вариант с html

      вот вопрос как сделать, чтобы и такие дубли удалялись и кнопка покупки работала

    3. @Александр, ну тогда заменить всё html на на php в buyme.js.

    4. Александр

      @Назар Токарь, не сработало.. так же ноль эффекта.

      я запускаю демо-страницу по адресу:
      http://сайт.ru/buyme/
      там уже форма заказа с телефонами из примера и никаких index.php или .html на конце нет.

      подумал может дело в этом
      ## Removing /index.php/
      RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
      RewriteRule ^index\.php$ http%2://www.сайт.ru/ [R=301,L]
      но нет, даже с пустым htaccess не реагирует

    5. @Александр, пустой htaccess в папке заменяется htaccess, который берётся из папки выше или из глобального файла. Почитайте форум на эту тему или уберите безусловную переадресацию в htaccess.

  15. Добрый! Установил скрипт себе на сайт. Делал уже много раз. По инструкции. Сначала при загрузке сайта, в консоли появляется ошибка http://prntscr.com/997rcx , а после того, как нажимаю на кнопку купить в один клик, всплывает как всегда окно, но она без полей для ввода данных – http://prntscr.com/997s15 .
    Должен заметить, что все знаки $ в файле buyme.js я заменил на jQuery , так как выдавалась ошибка о непонимании что такое $
    В общем вопрос, что нужно сделать чтобы вывести форму для заполнения покупателем во всплывающем окне?

    1. @Рома, скачайте заново скрипт и замените ваш buyme.js на новый.

    2. @Назар Токарь, к сожалению я вчера это делал

    3. @Рома, после нашей беседы я обновил скрипт.

    4. @Назар Токарь, ты волшебник. Спасибо!!

  16. Александр

    Здравствуйте. Сделал все по инструкции на сайте – в результате при нажатии на кнопку заказать – просто поднимался экран на верх.

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

    всеравно ничего не происходит. нажимаю – ноль реакции
    вот архив …

    1. @Александр, вы мне сбросили мой архив? Спасибо конечно, но я могу и так сказать, что у меня работает :).

  17. Рома

    Добрый день. Не подскажешь в каком файле можно исправить текст : “Чтобы оформить заказ, заполните форму. В течение пары часов с вами свяжется менеджер и уточнит детали заказа, а также время доставки.” ??

  18. Виталий

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

    Ваша фамилия
    Попов

    Ваше имя и отчество
    Иван Иванович

    Телефон
    +79042328912

    Адрес доставки
    Барнаул

    Регион
    Алтайский край

    Доставка
    Курьерская доставка

    Подарочная упаковка
    Нет

    Ваша фамилия
    Попов

    Ваше имя и отчество
    Иван Иванович

    Телефон
    +79042328912

    Регион
    Алтайский край

    Адрес доставки
    Барнаул

    Доставка
    Курьерская доставка

    Подарочная упаковка
    Нет

  19. @Назар Токарь, подскажите при установке на Joomla 2.5 выдает ошибку: buyme.js:21 Uncaught TypeError: Cannot read property ‘append’ of null

    1. Chez

      @Иван, в начале buyme.js добавляешь

      jQuery.noConflict();
      jQuery(document).ready(function($) {

      и в самом конце добавляешь

      });

      . Я так исправил работу.

    2. @Chez, при много благодарен.

  20. Тимми

    Назар, увеличение шрифта до 1.2em в форме, для устройств менее 640 по ширине – на айфонах (max-device-width: 640px;) приводит поля input в нечитаемый вид, со скрытым наполовину текстом (по высоте). и кроме того, не подменяются позиционирование и отступы (я добавлял !important для этого, а также позиционирование формы – fixed).

  21. Сергей

    Добрый день, установил все по инструкции н офрома не появляется при нажатии кнопки вот сайт http://new.smartpostel.by/index.php/joomshopping/product/view/13/34

    1. @Сергей, подозреваю, что вопрос в Заглавной букве в имени папки, исправьте, чтобы все были строчными.

    2. Сергей

      @Назар Токарь, добрый день, переименовал ничего не поменялось(

    3. @Сергей, теперь вам осталось поменять код в html.

  22. петр

    а где можно поменять настройки дизайна кнопки “Купить за 1 клик”? перелизил все css не нашел…

  23. Alex

    Назарь, здравствуй! Тестирую твой скрипт. Подскажи пожалуйста, что нужно подправить в файле send.php , чтобы вот здесь http://clip2net.com/s/3k6FYpQ изменить название в строке “Имя:” на например “Страница:”
    то есть чтобы логично было, а то как-то не гуд, когда второй раз названа строка Имя, а за ней идет урл, откуда была отправка.

    1. ПМР, правда?