4 Червень 2013
13 820
Рубрика: код

Buyme: установка скрипта покупки за один клик на Prestashop

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

buyme-prestashop

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

Загрузить файлы

Скачиваем архив с BuyMe, распаковываем и переименовываем папку buyme. Открывайте buyme/lib/send.php в редакторе кода и указывайте свою почту и если надо, настраивайте смс.

presta-02

Дальше будет не очень просто, но задача вполне вполне решаема. Для установки нам потребуется: полчаса времени, полбутылки каберне и несколько предложений, состоящих из оборотов с использованием слов “зачем”, “куда” и “престашоп”, но в основном из мата. Так что запаситесь терпением и смотрите, что нам нужно сделать.

Настроить страницу товара

Ищем файл /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>

В итоге

В итоге имеем страницу товара с кнопкой “Купить за один клик”:

presta-result

Не так страшно, как в том же Joomla, но повозиться придётся. Всем успехов в настройке. И не стесняйтесь читать комментарии и инструкции.

У меня нет Prestashop

У нас на форуме уже есть другие инструкции по установке Buyme:

Тепер я хочу бачити коментарі 110