Установка BuyMe в HostCMS [инструкция]

Список розділів Скрипти Buyme — покупка за один клік

Опис: Свіжа версія — 1.3.5 (2013-12-23)

#1 kkachkin » 03.07.2013, 23:57

Подключение скрипта
Скачиваем архив, разархивируем на компьютере. В текстовом редакторе (не в БЛОКНОТЕ!) открываете из архива файл /buyme/index.php и в соответствующей строке указываете вашу электронку, на которую будут приходить уведомление. Адрес FROM (от кого) не трогайте без необходимости.
Архив в полном объеме заливаем по ftp на хостинг в созданную там в корне папку buyme.
Чтобы подключить скрипт, в макете, перед закрытием </HEAD>, нужно добавить строку:
Код: Виділити все
<script type="text/javascript" src="/buyme/js/buyme.js"></script>
Функциональность внесенных изменений уже можно протестировать, набрав после адреса сайта: /buyme/index.html. Вы увидите правильную тестовую страницу, на которой можете опробовать работу скрипта уже на вашем сайте. Пример тестовой страницы.
Если скрипт не заработает сразу, попробуйте дополнительно подключить перед ним дополнительно:
Код: Виділити все
<script type="text/javascript" src="/buyme/js/jquery.js"></script>

Куда встраивать функцию
Обратите внимание: функция "Купить в 1 клик" не производит ничего, кроме отправки сообщения (менеджерам интернет-магазина) о желании посетителя купить один конкретный товар.

И ничего более. И именно поэтому функция "Купить в 1 клик" может быть установлена где угодно, где есть название товара, есть хоть одно название свойства и значение этого свойства.
В HostCMS товар может отображаться в разных видах отображения:
  • 1. в списке товаров (XSL шаблон МагазинСписокТоваров)
  • 2. в карточке товара (МагазинТовар)
  • 3. модификации товара (МагазинТовар)
  • 4. сопутствующие товары (МагазинТовар)
  • 5. сравнение товара (СравнениеТоваров)
  • 6. товары на главной (МагазинКаталогТоваровНаГлавнойСпецПред)
и другие варианты.

Настройка кода
Код настраиваем в шаблонах XSLT. Для корректной работы необходимо, чтобы товар находился внутри любого объекта с:
Код: Виділити все
class="bm_good"
Название товара должно находиться в блоке с
Код: Виділити все
class="b1c_name"
Кроме названия товара вы можете получать в уведомлении выбранные пользователем параметры продукта. Например, цвет или размер. Названия выпадающих полей и сами выпадающие поля должны иметь такие классы соответственно:
Код: Виділити все
class="b1c_caption"  и  class="b1c_option"
И устанавливаете код кнопки:
Код: Виділити все
<input class="button b1c" value="купить за 1 клик" type="button" />

Пример работающего кода в списке товаров (МагазинКаталогТоваров)

Код: Виділити все
<!-- Шаблон для товара -->
   <xsl:template match="shop_item">
............   
      <div class="description_row">
         <div class="description_sell bm_good">
            <a href="{url}" title="{name}">
               <h3 class="b1c_name"><xsl:value-of disable-output-escaping="yes" select="name"/></h3>
            </a>
            <div class="shop_property ">
               <p class="b1c_caption" style="display:none;">Артикул: <span class="b1c_option"><xsl:value-of disable-output-escaping="yes" select="marking"/></span></p>
            </div>
.........
   <!-- Ссылку на добавление в корзины выводим, если:            type = 0 - простой тип товара                        type = 1 - электронный товар, при этом остаток на складе больше 0 или -1,               что означает неограниченное количество -->         <xsl:if test="type = 0 or (type = 1 and (digitals > 0 or digitals = -1))">            <a href="{/shop/url}cart/?add={@id}" onclick="return $.addIntoCart('{/shop/url}cart/', {@id}, 1)">                                 <img src="/images/add_to_cart.gif" alt="Добавить в корзину" />      </a>   
   </xsl:if>
   <xsl:text> </xsl:text>
   <input class="button b1c" value="купить за 1 клик" type="button" />
.............
</xsl:template>

Пример работающего кода: в карточке товара (МагазинТовар)

Для товара:
Код: Виділити все
<xsl:template match="shop_item">
   <div class="bm_good">
      <h1 class="b1c_name"><xsl:value-of disable-output-escaping="yes" select="name"/></h1>
............
   <!-- Ссылку на добавление в корзины выводим, если:
   type = 0 - простой тип товара
   type = 1 - электронный товар, при этом остаток на складе больше 0 или -1,
            что означает неограниченное количество -->
   <xsl:if test="type = 0 or (type = 1 and (digitals > 0 or digitals = -1))">
      <a href="{/shop/url}cart/?add={@id}" onclick="return $.addIntoCart('{/shop/url}cart/', {@id}, 1)">
         <img src="/images/add_to_cart.gif" alt="Добавить в корзину" title="Добавить в корзину" />
      </a>
   </xsl:if>
   <xsl:text> </xsl:text>
   <input class="button b1c" value="купить за 1 клик" type="button" />
............
   <xsl:if test="marking != ''">
      <div class="shop_property b1c_caption">
                Артикул:
         <span class="b1c_option">
         <xsl:value-of disable-output-escaping="yes" select="marking"/>          </span>
      </div>
   </xsl:if>
...............
   </div>
</xsl:template>
...............
Для модификаций:
Код: Виділити все
<!-- Шаблон для модификаций -->
<xsl:template match="modifications/shop_item">
............   
   <div class="shop_table_item bm_good" style="width:95%;border:1px solid #bbb; margin:0 10px 10px 0;">
............   
   <!-- Название модификации -->
   <div class="description_sell" style="height:60px;">
       <a href="{url}"> <span class="h3 b1c_name"> <xsl:value-of disable-output-escaping="yes" select="name"/></a>

      <xsl:if test="marking != ''">
      <div class="shop_property b1c_caption" style="display:none">                      Артикул:
         <span class="b1c_option">
         <xsl:value-of disable-output-escaping="yes" select="marking"/>
         </span>
      </div>
      </xsl:if>
...............
   <!-- Ссылку на добавление в корзины выводим, если:            type = 0 - простой тип товара                        type = 1 - электронный товар, при этом остаток на складе больше 0 или -1,                  что означает неограниченное количество -->      <xsl:if test="type = 0 or (type = 1 and (digitals > 0 or digitals = -1))">            <a href="{/shop/url}cart/?add={@id}" onclick="return $.addIntoCart('{/shop/url}cart/', {@id}, 1)">                              <img style="margin:0 10px 10px 0" src="/images/add_to_cart.gif" alt="Добавить в корзину" title="Добавить в корзину" />                  </a>
   </xsl:if>
   <input class="button b1c" value="купить за 1 клик" type="button" />
................
</xsl:template>
:help: Если не заработает сразу, открывайте тестовую страницу на своем сайте СвойСайт.ru/buyme/index.html, открывайте исходный код страницы и приближайте свой код к тому, который работает.

Когда вы настроите код хотя бы в одном шаблоне, то любой другой уже освоите совершенно самостоятельно.
Настройки стилей функции "Купить в 1 клик" - в файлах css внутри архива buyme.
kkachkin
Автор теми, Аспирант
Вік: 47
Репутація: 2
Повідомлення: 15
Теми: 2
З нами: 4 роки 5 місяців

#2 Nazar Tokar » 04.07.2013, 12:08

kkachkin, большое спасибо за инструкцию, я с вашего позволения немного поправил. В частности:
Спойлер
Обратите внимание: пока без этих параметров (хотя бы одного названия параметра и значения параметра) скрипт работает некорректно!
Я убрал, так как в текущем архиве обновил функцию и можно работать без указания дополнительных параметров.

:clap: :clap:
Читайте твітер.
Nazar Tokar M
Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2512
Теми: 100
З нами: 4 роки 8 місяців

#3 kkachkin » 04.07.2013, 14:49

Отлично, спасибо.
kkachkin
Автор теми, Аспирант
Вік: 47
Репутація: 2
Повідомлення: 15
Теми: 2
З нами: 4 роки 5 місяців

Не получается на HostCMS устновить

#4 kuselev » 23.08.2013, 16:42

Ребят помогите пожалуйста уже отчаялся не могу сделать что бы подтягивалось имя товара :
вот что получается пример:
на странице : http://www.rybolovnye-snasti.com.ua/shop/ecuipment/tents/karpovye-palatki-jrc/

нажимаю купить и приходит на почту вот такое сообщение.:
Заказ на null

Контакт
9058995729

Имя
Нурбаев Рустам Кусаинович

Комментарий
Оренбургская обл.г.Орск

URL
http://www.rybolovnye-snasti.com.ua/shop/ecuipment/tents/karpovye-palatki-jrc/

ip
*****

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

вот код который вставлял:
Код: Виділити все
<!-- Шаблон для товара -->
   <xsl:template match="item" class="bm_good" >
      
      <!-- Определяем цвет фона -->
      
      <xsl:variable name="background_color">
         <xsl:choose>
            <xsl:when test="(position() + 1) mod 2 &gt; 0">#f7f7f7</xsl:when>
            <xsl:otherwise>#ffffff</xsl:otherwise>
         </xsl:choose>
      </xsl:variable>
      
      <table width="97%" border="0" cellpadding="0" cellspacing="0" style="padding-bottom: 0; margin-bottom: 0; margin-right: 10px;" >
         <tr>
            <td colspan="4" style="padding-bottom: 4px">
               <!-- Название товара -->
               <div  style="font-size: 13pt" >
                  <h5 class="b1c_name"><a  href="{/shop/path}{fullpath}{path}/" class="cat_title" >
                        <xsl:value-of disable-output-escaping="yes" select="name" />
                  </a></h5>
               </div>
               
            </td>
         </tr>
         <tr>
            <td class="cat_t" style="width: 110px" valign="top">
               <!-- Изображение для товара, если есть -->
               <xsl:if test="small_image != ''">
                  <a href="{image}" target="_blank">
                     <img src="{small_image}" class="image" />
                  </a>
               </xsl:if>
               
            </td>
            
            
            
            
            
            <td style="vertical-align: top; padding-left: 12px;">
               
               
Код: Виділити все
<!-- Ссылку на добавление в корзины выводим, если:
                  type != 1 - простой тип товара или делимый (0 - простой, 2 - делимый)
                  type = 1 - электронный товар, при этом остаток на складе больше 0 или -1,
                  что означает неограниченное количество -->
                  <xsl:if test="type != 1 or (type = 1 and (eitem_count > 0 or eitem_count = -1))">
                     <div style="display: inline; margin-left: 3px">
                        <div class="left">
                           <input type="text" size="3" value="1" id="count_{@id}"/>
                           
                           <img src="/images/map_intocart.gif" width="12" height="21" border="0" usemap="#mapInToCart{@id}" style="margin: 0 0 -6px 1px;"/>
                           
                           <map name="mapInToCart{@id}">
                              <area shape="rect" coords="0,0,12,10"  onclick="set_count_mod('count_{@id}', 1);" nohref="nohref" />
                              <area shape="rect" coords="0,11,12,21" onclick="set_count_mod('count_{@id}', -1);" nohref="nohref" />
                           </map>
                        </div>
                        
                        <a href="{/shop/path}cart/?action=add&amp;item_id={@id}" onclick="return AddIntoCart('{/shop/path}', {@id}, document.getElementById('count_{@id}').value)">
                           <img alt="В корзину" title="В корзину" src="/add_to_cart.png" style="margin: 0px 0px 0px 0px" />
                        </a>
                        <input class="button b1c" value="купить за 1 клик" type="button" />
                     </div>
                  </xsl:if>
                  
               </div>
            </td>
            
         </tr>
      </table>
      
За ранее спасибо с Ув. Сергей Киселев
kuselev
Вік: 47
Репутація: 0
Повідомлення: 3
З нами: 4 роки 3 місяці

#5 Nazar Tokar » 24.08.2013, 18:47

kuselev, почти правильно. У вас получается так:

Спойлер
<h5 class="b1c_name">
<a href="/shop/ecuipment/tents/karpovye-palatki-jrc/palatka-jrc-cocoon-carp-crib/" class="cat_title">Минипалатка JRC COCOON CARP CRIB (шт.)</a>
</h5>

Надо вставить код вот так:

<h5><a href="{/shop/path}{fullpath}{path}/" class="cat_title b1c_name" >
<xsl:value-of disable-output-escaping="yes" select="name" />
</a></h5>

То есть присвоить класс ссылке, а не заголовку.
Читайте твітер.
Nazar Tokar M
Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2512
Теми: 100
З нами: 4 роки 8 місяців

не работает

#6 kuselev » 26.08.2013, 17:30

вставил вот так и все равно не работает , уже с ума схожу
Код: Виділити все
<!-- Шаблон для товара -->
   <xsl:template match="item" class="bm_good" >
      
      <!-- Определяем цвет фона -->
      
      <xsl:variable name="background_color">
         <xsl:choose>
            <xsl:when test="(position() + 1) mod 2 &gt; 0">#f7f7f7</xsl:when>
            <xsl:otherwise>#ffffff</xsl:otherwise>
         </xsl:choose>
      </xsl:variable>
      
      <table width="97%" border="0" cellpadding="0" cellspacing="0" style="padding-bottom: 0; margin-bottom: 0; margin-right: 10px;" >
         <tr>
            <td colspan="4" style="padding-bottom: 4px">
               <!-- Название товара -->
               <div  style="font-size: 13pt" >
                  <h5><a  href="{/shop/path}{fullpath}{path}/" class="cat_title b1c_name" >
                        <xsl:value-of disable-output-escaping="yes" select="name" />
                  </a></h5>
               </div>
               
            </td>
         </tr>
         <tr>
kuselev
Вік: 47
Репутація: 0
Повідомлення: 3
З нами: 4 роки 3 місяці

#7 Nazar Tokar » 27.08.2013, 08:28

kuselev, вместо
<xsl:template match="item" class="bm_good" >
Напишите
<xsl:template match="item">
<div class="bm_good">
У вас не срабатывает такая конструкция, её шаблонизатор вырезает. Ну и не забудьте закрыть div в конце.
Читайте твітер.
Nazar Tokar M
Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2512
Теми: 100
З нами: 4 роки 8 місяців

помогите

#8 kuselev » 04.09.2013, 15:30

Блин не получается , то ошибку выдает , то никаких изменений , поддержка молчит , говорит что со сторонними скриптами не помогает , подскажите хотя бы в каком файле можно поправить текст .
"Адрес доставки и комментарий к заказу " что бы дописать "Адрес доставки и комментарий к заказу(обязательно указать Артикул товара)" как то так вижу выход
За ранее спасибо с Ув. Сергей Киселев
kuselev
Вік: 47
Репутація: 0
Повідомлення: 3
З нами: 4 роки 3 місяці

#9 Nazar Tokar » 04.09.2013, 19:20

kuselev, так я же написал выше. Я не могу каждому ежедневно рассказывать, что и куда указывать, для этого есть инструкции.
Читайте твітер.
Nazar Tokar M
Администратор
Аватар
Звідки: Україна
Репутація: 149
Повідомлення: 2512
Теми: 100
З нами: 4 роки 8 місяців


Повернутись в Buyme — покупка за один клік

Хто зараз на форумі (базується на активності користувачів за останні 30 хвилин)

Зараз переглядають цей розділ: 3 гостей

cron