Меня попросили написать инструкцию по установке скрипта покупки за один клик на Prestashop. Ну а почему бы и нет. Сейчас расскажу, как это делается.
Загрузить файлы
Скачиваем архив с BuyMe, распаковываем и переименовываем папку buyme. Открывайте buyme/lib/send.php в редакторе кода и указывайте свою почту и если надо, настраивайте смс.
Дальше будет не очень просто, но задача вполне вполне решаема. Для установки нам потребуется: полчаса времени, полбутылки каберне и несколько предложений, состоящих из оборотов с использованием слов “зачем”, “куда” и “престашоп”, но в основном из мата. Так что запаситесь терпением и смотрите, что нам нужно сделать.
Настроить страницу товара
Ищем файл /themes/%THEME%/product.tpl и в нём ищем строку:
<h1>{$product->name|escape:'htmlall':'UTF-8'}</h1>
и меняем её на:
<h1 class="b1c-name">{$product->name|escape:'htmlall':'UTF-8'}</h1>
В любое место страницы вставляем код кнопки:
<input type="button" class="b1c" value="Купить за 1 клик">
Далее нам нужно обозначить блок, где находится товар. Поэтому ищем:
<div id="primary_block" class="clearfix">
меняем на:
<div id="primary_block" class="clearfix b1c-good">
Нужно указать, где находятся поля с дополнительными параметрами товара. Для этого ищем строку
<label for="group_{$id_attribute_group|intval}">{$group.name|escape:'htmlall':'UTF-8'} :</label>
меняем на
<label class="b1c-caption" for="group_{$id_attribute_group|intval}">{$group.name|escape:'htmlall':'UTF-8'} :</label>
Ищем:
<select name="{$groupName}" id="group_{$id_attribute_group|intval}" onchange="javascript:findCombination();{if $colors|@count > 0}$('#wrapResetImages').show('slow');{/if};">
заменяем:
<select class="b1c-option" name="{$groupName}" id="group_{$id_attribute_group|intval}" onchange="javascript:findCombination();{if $colors|@count > 0}$('#wrapResetImages').show('slow');{/if};">
Проверить версию jQuery
Так, ну на странице товара вроде бы разобрались, теперь нужно подключить скрипт. Ищем файл /classes/FrontController.php и в нём функцию setMedia(). Надо убедиться, что версия jquery там не ниже 1.9.0:
Tools::addJS(array(_PS_JS_DIR_.'jquery/jquery-1.9.0.js', _PS_JS_DIR_.'jquery/jquery.easing.1.3.js', _PS_JS_DIR_.'tools.js'));
Если ниже, то заменяем имя файла jquery на более новый и загружаем новую версию в /js/jquery/jquery.js. В результате будем иметь что-то типа:
Tools::addJS(array(_PS_JS_DIR_.'jquery/jquery.js', _PS_JS_DIR_.'jquery/jquery.easing.1.3.js', _PS_JS_DIR_.'tools.js'));
Подключаем BuyMe
Здесь есть два варианта: правильный и простой.
Вариант правильный
В файле classes/FrontController.php в функции setMedia() добавляем в массив вызов buyme.js, чтобы получилась строка типа:
Tools::addJS(array(_PS_JS_DIR_.'jquery/jquery.js','/buyme/js/buyme.js', _PS_JS_DIR_.'jquery/jquery.easing.1.3.js', _PS_JS_DIR_.'tools.js'));
Вариант простой
В header.tpl перед закрывающимся тегом </head> нужно добавить строки
<script type="text/javascript" src="/buyme/js/buyme.js"></script>
В итоге
В итоге имеем страницу товара с кнопкой “Купить за один клик”:
Не так страшно, как в том же Joomla, но повозиться придётся. Всем успехов в настройке. И не стесняйтесь читать комментарии и инструкции.
У меня нет Prestashop
У нас на форуме уже есть другие инструкции по установке Buyme:
Доброго дня, Назар. Может есть инструкция как его установить на Prestashop 1.7 или уже готовый модуль?
Доброго дня.В Prestashop 1.6 можна змінити дизайн кнопки “купить в 1 клик”?
Звичайно, це ж просто кнопка.
Доброго времени суток!
Назар, подскажите как прописать кнопку в файле product-list,tpl – кнопка появляется, но не работает на витрине товара на странице категорий. Побочный эффект: скрытие стандартной кнопки купить на главной – скрывает все товары в модуле Новинки.
На странице товара всё работает.
Вітаю, як і завжди, за інструкцією.
Здравствуйте, скрипт покупка в 1 клик, закзы обробатывае так же как и стондартный функционал, то есть после покупки заказ виден в менеджере заказов? Просто можно отсылать письмо на почту о заказе и это будет не сложнее чем установка данного скрипта. После обновления ядра с магазино и скриптом ничего не случится, все будит работать как прежде?
Здравствуйте, делаю всеё по инструкции, но ни buyme ни callme не устанавливаеться
@Антон, здравствуйте. Мне жаль.
Благодарю за такой полезный скрипт. Скажите, как увеличить кол-во символов в в письме, которое приходит после заказа. А то не помещается всё название товара. Спасибо.
@Руслан, сколько символов нужно?
@Назар Токарь, в 2 раза больше в теге h3.
@Назар Токарь, Вы ответите на вопрос?
Назар, Вы говорите, что оформить кнопку для Вас не проблема, тогда можете подсказать, что нужно изменить на моем примере, чтобы кнопка получилась как у вас? Спасибо!
Назар, объясните, пожалуйста, для таких непрофессионалов, как я, почему в вашем примере кнопка появляется уже оформленной, а у меня она не оформлена и её нужно оформлять дополнительно.
@Владимир, потому что я её оформил для страницы примера.
Все работает, но кнопка осталась серой, без стилей, находится слева от кнопки «Добавить в корзину». Как будто не добавлен код в header.tpl, но код у меня добавлен. Версия Prestashop: 1.5.6.0. Все перепроверил несколько раз. В чем может быть проблема?
@Владимир, кнопку “купить” на сайте вы оформляете сами в стиле вашего сайта. Никакой проблемы здесь нет.
Здравствуйте! Благодарю за скрипт!
Установил на PrestaShop 1.6. Сайт ohiahi.by
Очень нравится задумка и ее реализация.
Установку произвел по стандартной инструкции и все работает.
Однако, столкнулся с двумя проблемами:
– Создал дополнительное поле “количество товара” в форме заказа и данные из этого поля не всегда приходят на почту.
– Форма заказа частично утопает под хедером сайта. Затемнение также происходит только в контентной области и подвале, а шапка сайта выше формы заказа (скрин тут).
Подскажите куда копать, пожалуйста!
Спасибо!!!
@Magius, добрый день, все это много раз обсуждалось на форуме.
@Назар Токарь, да, разобрался!
Еще раз большое спасибо за отличный скрипт!!!
Дорый день!Видел в соощениях, что тоже была такая проблема у Александр
19 апреля 2014, 01:39!С неправельным отображениям текста на Айфоне!Как решили эту проблему в итоге?
Текст формы сжат при ее вызове в Айфоне, а на андроиде все ок!
Здравствуйте Подскажите пожалуйста установили скрипт в интернет магазин, но почему то отображаются только 2 способа доставки из 5. С чем это может быть связано?
@Екатерина, с неправильной настройкой.
Здравствуйте, скажите пожалуйста, а можно ли установить byeme в каталоге товара(престашоп 1.6) . В карточке, работает на ура, а в каталог не получается поставить, скрипт считывает все товары из каталога а не один. Как сделать можно?
@Катя, да, можно. Об этом написано в инструкции.
Простите, но что-то я не вижу, где в инструкции написано про установку в раздел каталога.
Установка не зависит от того, куда вы будете ставить скрипт.
Вы похоже не понимаете о чем вас спрашивают. В разделе есть n-ое количество товаров, для каждого товара нужно сделать кнопку. Соответсвенно js не будет правильно отрабатывать.
@Антон, с чего вы взяли?
Сайт на PrestaShop 1.4. Все делаю как описано, уже не раз ставил данный скрипт, но тут магия, а именно проблема с файлом product.tpl – все те строки, которые описаны в установке и которые надо менять – есть (менял, загружал – кнопка покупки в один клик не появлялась). Но проблема с самим файлом:
1) Загружал файл product.tpl измененным, а именно оставлять слово Привет и все – карточка товара работает
2) Загружал этот файл пустой – карточка товара работает.
3) Удалял файл – карточка товара не работает.
В чем может быть дело не подскажете?
@Роман, кэш, права доступа на файлы скрипта.
@Назар Токарь, в кэше дело. Спасибо.
на тестовой с транице все работает, в престашопе 1.6 не хочет, просто кнопка без стилей висит. если на странице товара, то нажатие ведет в корзину, если кнопка в любом другом месте, то она мертвая
@Павел, настройки, инструкция, демо.
Установил кнопку на сайт stylemoda.com.ua , вроде все работает. Но почему-то кнопка без стилей. Движок Prestashop 1.6. Подскажи пожалуйста, в чем может быть проблема?
Предполагалось, что кнопку админ оформляет сам в стиле сайта, но по ходу я ожидал многого. Перезакачайте архив и обновите style.css, кнопка в нем оформлена.
Перезакачал и заменил style.css, но архив полностью идентичный, по этому ничего не изменилось.
Еще раз скачайте, архив не сразу обновился.
@Назар Токарь, Здравствуйте, у меня не совпадает код с вашей инструкцией… Например строки
у меня нету, зато есть
, не пора ли обновить описание установки, ах да, версия престы 1.6.0.9 Буду благодарен.
@Oleg, это общая инструкция. Данный код может отличаться, в зависимости не только он версии cms, но и от темы. Думаю, отличить, что первое == второе, несложно.
Prestashop 1.6 со стандартной темой. Кнопка “купить в один клик” появилась. Форма для заказа появляется. После заполнения и нажатия на кнопку “оформить заказа” появляется зеленая надпись “Спасибо, заказ принят. Ждите звонка”, но в админке данных заказов нет. Что не так сделал?
Вы не прочли описание скрипта: заказа в админке появляться не должно, заказ отправляется на почту или в смс.
Добрый день. Все переделал в соответствии с инструкцией, но все равно не работает. Выдаёт такую ошибку.
@Михаил, обновите скрипт до версии 1.4.
@Назар Токарь, Все сделал по инструкции, вроде как работает. Только не пойму почему на саму кнопку стили не подтягиваются, и почему на самой кнопке кодировка слетела. http://nowtaobao.ru/test/prestashop/index.php?id_product=1&controller=product#/disk_space-16gb/color-metal
@Михаил, все сам разобрался, сори за беспокойство
Добрый день. Скачал скрипт.. и на первом же пункте загвостка при установке на prestashop 1.6…
buyme/index.php в редакторе кода и указываем свою почту
Не нашел строку где меняь почту… !?!?!
@Иван, обновил. Вообще все в инструкции написано.
Приветствую! не могу установить Bayme на Престу 1.6, строки как в описании не совпадают… есть рекомендации для этой версии? Обратный звонок прикрутить удалось
@Виталий, конечно, html в разных темах отличается.
@Назар Токарь, а можете подсказать? использую шаблон по умолчанию
Воспользуйтеь инструкцией, в ней все очень подробно написано.
Добрый день,Назар.
Сегодня пробовал установить модуль на престу 1.6 (некоторые модули от 1.5 нормально встают и работают).
Суть проблемы в том,что сайт делаю на основе шаблона THEMEFOREST , строки ИЗ МАНУАЛА другие , но видимо там стили дополнительные прописаны и эффекты кнопок и тд. Маскимум чего удалось добиться, это вывода кнопки “Купить в один клик” с теми же эффектами что и в этой теме…а далее тупо перекидывает в стандартную корзину. Возможно ли настроить этот скрипт на этой теме?
Вот мои строки в последовательности как в мануале (те что нужно найти и заменить):
{$product->name|escape:’htmlall’:’UTF-8′}
{$group.name|escape:’htmlall’:’UTF-8′} :
последняя строка совпадает полностью
Но увы и ах, я голову уже сломал, помогите пожалуйста.
Добрый день, Назар.
Ситуация: скрипт установлен на версии 1.5.6.2. На десктопной версии сайта работает корректно. На мобильной версии возникают проблемы:
1. Кнопка “Купить за 1 клик” в неактивном состоянии не поддерживает стилевое оформление (Android/IOS).
2. При наведении курсора кнопка “Купить за 1 клик” не изменяет стиль (Android) / изменяет стиль некорректно (IOS).
3. Не открывается окно для заполнения полей при нажатии на кнопку “Купить за 1 клик” (Android) / открывается окно, но стили текста поддерживаются некорректно: тип шрифта другой (IOS).
Вопрос: что может являться причинами возникновения данных проблем и каковы могут быть пути их решения?
Заранее благодарен.
@Александр, доброй ночи, вы могли бы дополнить ваш вопрос скриншотами? Я тестировал Buyme на iphone4, все отображалось корректно.
И как вы проверяете наведение курсора на оси с сенсорным управлением?
@Назар Токарь,
Скрины Android:
http://fr35736.tw1.ru/1.jpg
http://fr35736.tw1.ru/2.jpg
К сожалению, нет под рукой IPhone, поэтому скрин с экрана ноутбука (на IPhone 4S с шрифтом было то же самое):
http://fr35736.tw1.ru/1.tiff
http://fr35736.tw1.ru/2.tiff
@Назар Токарь, сделал скриншоты IOS (IPhone 4S)
http://fr35736.tw1.ru/1.PNG
http://fr35736.tw1.ru/2.PNG
http://fr35736.tw1.ru/3.PNG
@Александр, ок, принято. Спасибо.
Скрип просто добавляет товар в корзину. В чем может быть проблема?
В неправильной установке. Можете не благодарить.
@Стас, столкнулся с такой же проблемой, час ночью туда сюда лазил, а утром дошло.
Вы наверное, как и я, вставили кнопку в “любое место” на странице. А в любое нельзя. Точнее нельзя туда, куда её логичнее всего было бы вставлять в блок к старой кнопке заказа.
Сам этот блок навешивает на кнопку он-клик действие добавления. На любую кнопку в этом блоке. Просто поставьте кнопку ниже блока или в другом месте.
Назар, большое спасибо за скрипт, много времени сэкономили. И статьи у вас веселые, подписался.
@Володя, спасибо. Я знаю, о чем вы говорите. Там и правда клик на любую кнопку обрабатывается как добавление в стандартную корзину. Но это можно обойти.
Создайте элемент span с классом b1c, он будет обрабатываться в Buyme и не будет мешать работе блока. Кстати, я планирую сделать скрипт, которым можно будет вообще заменить корзину. Это аналог Buyme, где можно добавлять товары в корзину и ходить по сайту.
Веселые, да :)
@Назар Токарь, скрипт Buyme очень хорош, ждем нового скрипта замены корзины, чтобы можно было оформить несколько товаров сразу.
@Петр, спасибо, приятно слышать.
Доброго дня.
У меня такой вопрос – а можно ли прикрутить данный модуль не к каждому товару конкретному а к корзине собранной?
Поясняю. Предположим заходит покупатель на сайт просматривает товары. Захотел такой-то, нажал довбавить в корзину, добавило, смотрит дальше, еще один товар добавил и т.д. и т.п. Ну и в итоге он определился, заходит в корзину и вот там уже наша кнопочка “Купить в один клик”, которая в итоге подхватывает все добавленные в корзину товары..
Модуль весьма хорош, как раз так и надо все – отправка на почту такойто инфы, но вот еслиб еще то что я описал выше возможно было бы, то вообще сказка бы была))
@Константин, вы путаете суть скрипта и корзины. Скрипт — покупка одного товара за один клик. Корзина — покупка любого количества товаров с заполнением формы и навигацией по сайту между сохранением товаров.
В будущем возможно я сделаю скрипт, которым можно будет заменить корзину в любом магазине. Но это будет другой скрипт.
@Назар Токарь, понял, большое спасибо за скорый ответ
Доброго времени суток, Назар.
Прошу Вас описать процесс добавления атрибутов: class=’b1c-name’, class=’b1c-good’, class=’b1c-caption’, class=’b1c-option’ при настройке страницы товара для мобильной версии темы.
Заранее благодарен.
@Александр, она абсолютно аналогична редактированию обычного шаблона. Открываете темплейт и указываете в нем нужные атрибуты.
Назар прошу прощения, сделал все по инструкции, но при обновлении jQuery с 1.4.4 на 1.9.1 появились проблемы с открытием фото товара, сайт вообще перестал реагировать на нажатие по фото.
Подскажите куда копать ?
Prestashop 1.4.4.0 сборка от prestaDev.ru
@Денис, вероятно, зум фото рассчитан на старые версии jquery. Надо менять скрипт зума.
@Назар Токарь, сменил на quickBox 0.2.1 теперь фото открывается, но в этом же окне по другому адресу.
Например:
страничка товара
нажимаем на фото и получаем
и все это на черном фоне(
quickBox ставил по инструкции
правда не уверен что правильно понял Загружаем содержимое архива в корневую папку /js/.) Надо было ли с папкой загружать или только то что в папке…
И В head документа перед закрывающимся тегом прописываем строку: Я так же не уверен что head это header.tpl Есть соображения где бок ?
@Денис, ну у вас сейчас стоит другой скрипт зума, а вы говорите о QuickBox.
@Назар Токарь, вернул настройки, открывается thickbox (
посмотрите пожалуйста.
@Денис, еще я понял что моя prestashop просто не хочет
работать с jquery 1.9.1 а только 1.4.4 а жаль, так как ни один ваш
скрипт не поддерживает версию ниже 1.7 а я уже голову сломал пока
пытался настроить jquery и quickBox. Если у вас найдется время мне
помочь я был бы вам очень благодарен, и не только морально
)))
@Денис, 1.4.4 вышла три года назад, за это время успели обновиться как сама библиотека, так и множество плагинов. Вам все равно рано или поздно придется обновиться. Так зачем ждать?
@Назар Токарь, ,безусловно я согласен что обновится придется чем раньше тем лучше, но есть ряд проблем которые возникают при обновлении jquery и QuickBox.
Так как мне в общем не хватает знаний для того что бы определить почему делая по инструкции все обновления, у меня ничего не работает. Буду искать на форумах в чем у меня проблема…
Здравствуйте, Назар!
Скачал Ваш архив с BuyMe.
В архиве нет файла index.php.
Описание установки у Вас начинается с такого абзаца:
Скачиваем архив с BuyMe, распаковываем и переИменовываем папку buyme. Открываем buyme/index.php в редакторе кода и указываем свою почту и если надо, настраиваем смс.
Поэтому вопрос: “Как быть?”
@Contentman, в новых версиях файл находится здесь:
/buyme/lib/send.php
@Назар Токарь, Спасибо большое! Подскажите еще пожалуйста, почему кнопка называется ������ � 1 ����. Видимо где-то с кодировкой что-то не так. Вы можете подсказать где копать?
@Contentman, говорил множество раз… Читайте.
@Назар Токарь, Прочитал три раза. Копался в файлах f.php, send.php, buyme.js, config.js… не нашел… может глаз замылился?)… извиняюсь… куда все таки копнуть?)
@Contentman, где ссылка на сайт?
@Назар Токарь, new.ishop73.ru
@Contentman, ну а где код кнопки?
@Назар Токарь, Прошу прощения…
new.ishop73.ru/iphone-5s/523-apple-iphone-5s-32gb-gold.html
@Contentman, делайте все в нормальном редакторе. У вас даже в шаблоне написано такое:
@Назар Токарь,
Как удалить ссылку BuyMe http://dedushka.org/
@Cергей, могу ошибаться, но возможно эта тема вам поможет.
Я решил задачу по “хитрому” – переделал модуль комментариев
под модуль быстрого заказа Рабочий пример на странице любого их
товаров, например:
http://apple-gid.ru/iphoneall/8-iphone-5-black-16-gb.html
наверное вставляем…
@Александр, воспользуйтесь jsfiddle.net, сохраните там код и киньте сюда ссылку.
@Назар Токарь, вопрос решился, внимательным прочтением инструкции
Обкатываю на Денвере, версия prestashop 1.4.11.0
Только вопрос:
В приходящем письме есть
Откуда запрос:
()
Так и должно быть?
@Александр, ip посетителя отправляется на сервис для геолокации и выясняется, откуда он. Проверьте, работают ли у вас эти функции:
$ip = $_SERVER['REMOTE_ADDR']; $geo = file_get_contents('http://freegeoip.net/json/'.$ip); $geo = json_decode($geo, true);
Здравствуйте, Назар!
Очень понравился ваш скрипт, но вот беда, версия моего престашоп 1.3.6 и файл FrontController.php отсутствует, может есть инструкция на мою версию движка, ткните носом. Или какие варианты?
@Светлана, нет, инструкции для вашей версии нет. Основная работа это настроить product.tpl, а в head (FrontController) проверяется, какой jquery подключён… Он должен быть не ниже 1.7.*
@Дедушка, product.tpl настраивается без проблем, кнопка появляется, проверила версию jquery – 1.2.6.
То есть можно без файла FrontController.php а прописать версию в head.tpl и обновить jquery до 1.7. и должно работать?
@Светлана, надо заменить JQ на более свежую.
@Дедушка, при обновлении jquery перестала работать ajax корзина и lightbox фотогалереи. Ладно, спасибо, может завтра на свежую голову что-то решу)
Добрый день. Решил поставить Ваш скрипт на Prestashop 1.5.4.x. Нашел некоторые несостыковки. Я так понимаю, что этот мануал написан для Prestashop 1.4.x, поэтому так вышло. Так вот, к несостыковкам:
1. Файл /classes/FrontController.php по этому адресу отсутствует, но есть тут – /classes/controller/FrontController.php (хотя может это и не он)
2. Функция setMedia() в этом файле присутствует, но вот строка
Tools::addJS(array(_PS_JS_DIR_.'jquery/jquery-1.9.0.js', _PS_JS_DIR_.'jquery/jquery.easing.1.3.js', _PS_JS_DIR_.'tools.js'));
вообще отсутствует.
В итоге:
1. Кнопка на сайте появилась – понятное дело. Она прописана в шаблоне
2. Кнопка вообще не “фунциклирует”).
Спасибо.
@Kostas Grek, я писал инструкцию, насколько я помню, по версии 1.5.х, все инструкции писал сам и видел результат. Если не работает, читайте что пишут и давайте ссылку на сайт, без этого такие комментарии бессмысленны.
@Дедушка, кнопка появилась, но стиле не подхватились.
Ссылку на сайт указал, если можно дай свой ip, чтобы я доступ к
нему открыл. Это не нашел.
Tools::addJS(array(_PS_JS_DIR_.’jquery/jquery-1.9.0.js’,
_PS_JS_DIR_.’jquery/jquery.easing.1.3.js’,
_PS_JS_DIR_.’tools.js’)); На JQ 1.7 будет работать? Или 1,9
обязательно.
@Дедушка, так поможете?
@gav304, где ссылка на сайт?
@Назар Токарь, Так в имени вставил, дублирую http://futura.megamaika.com.ua/
@gav304, подумайте пожалуйста сами, почему не отображается стиль кнопки для этого объекта. Это просто.
<input type="button" value="Купить за 1 клик">
@Назар Токарь, Мда, тупанул. А теперь не подхватывается имя товара.
с H1 все пучком вроде
@gav304, ой, комменты распознали
Вообщем вот
http://postimg.org/image/40viddbr9/
@gav304, код берите отсюда:
http://dedushka.org/kod/5625.html
@Назар Токарь, Так и сделал
@gav304 в смысле так и делал, заголовок не
подхватывает
@gav304, …h1 class=”b1c-name”…
@Назар Токарь, Спасибо большое за поддержку, придется купить
оба скрипта ))