EasyWeb.org.ua
  • Главная
    • shop-script
    • акции
    • php
    • javascript
    • joomla
    • wordpress
    • docs
    • internet
    • объявления
    • other
  • Вопрос ответ
  • Портфолио
  • Модули
  • Обратная связь
  • О блоге
    • Каталог сайтов
    • Карта сайта
Главная » shop-script » «хочу в подарок» ВКонтакте для Shop-Script
Авг11 35

«хочу в подарок» ВКонтакте для Shop-Script

Опубликовано в shop-script

Примерно месяц назад ВКонтакте объявили о создании списка желаний и о том, что любой желающий может подключить свой магазин к этой системе, разместив у себя в магазине кнопку «Хочу в подарок».

Ниже опубликовано готовое решение и инструкция по интеграции этого решения в магазины WebAsyst Shop-Script

Поехали!

  1. Зарегистрируйте свой магазин
  2. Поместите файл function.wishlist.php в папку /kernel/includes/smarty/plugins
  3. Там, где хотите выводить  кнопку впишите {wishlist}(для карточки продукта), и {wishlist pid=’222′} (в других местах, ’222′ — id продукта)
  4. Между тегами <head></head> (Админ панель — Дизайн — Редактировать тему — Head)  подключите скрипт
    <script type="text/javascript" src="http://vkontakte.ru/js/api/merchant.js?8" charset="windows-1251"></script>
  5. Заключите договор с Вконтакте (нужно заполнить свои банковские реквизиты)
  6. Переключите магазин и скрипт из тестового режима в рабочий

Содержания файла function.wishlist.php:

<?php
 
function smarty_function_wishlist( $params, &$smarty )
{
	$merchant='';
	$key='';
	$image_url='http://site.ru/published/publicdata/{DBKEY}/attachments/SC/products_pictures/';
	$shipping_price=0;
	$kurs=0;
	$testmode=1;
 
	$disp='';
	if(isset($_GET['productID']) && $_GET['productID']>0)
		$product=intval($_GET['productID']);
	else
		$product=$params['pid'];
 
	if(!$product)
		return;
 
	$sql='SELECT name_ru AS name, brief_description_ru AS description, Price FROM SC_products WHERE productID="'.$product.'"';
	$sql_i='SELECT filename FROM SC_product_pictures WHERE productID="'.$product.'" order by priority ASC LIMIT 1 ';
	if($r=mysql_query($sql))
		$res=mysql_fetch_assoc($r);
	if($r_i=mysql_query($sql_i))
		$i=mysql_fetch_assoc($r_i);
 
	$filename=$i['filename'];
	extract($res);
 
	if($kurs==0){
		$sql2='SELECT currency_value FROM SC_currency_types WHERE currency_iso_3="RUB"';
		if($r2=mysql_query($sql2))
			$res2=mysql_fetch_assoc($r2);
		$price=round(($Price*$res2['currency_value']),2);
	} else {
		$price=round(($kurs*$Price),2);
	}
	$description=strip_tags($description);
	$description=str_replace("'", "", $description);
	$description=str_replace('"', '', $description);
	$description=str_replace("\r\n", "", $description);
 
 
	$str="item_currency=RUBitem_description=".$description."item_id=".$product."item_name=".$name;
 
	if($filename)
		$str.="item_photo_url=".$image_url.$filename;
 
	$str.="item_price=".$price."merchant_id=".$merchant."shipping_price=".$shipping_price.$key;
	$sig = md5($str);
	$disp.='
	<script type="text/javascript">
			var prepareOrder = function() {
			var result = {
			merchant_id: '.$merchant.',
			item_id: '.$product.',
			item_name: "'.$name.'",
			item_description: "'.$description.'",
			item_currency: "RUB",';
			if($filename)
				$disp.='item_photo_url: "'.$image_url.$filename.'",';
 
	$disp.='
			item_price: '.$price.',
			shipping_price: '.$shipping_price.',
			testmode: '.$testmode.',
			sig: "'.$sig.'"
		};
			return result;
		}
		document.write(VK.Merchant.wishbutton(prepareOrder));
	</script>';
 
	return $disp;
}
 
?>

Параметры, которые вам нужно изменить:
$merchant — id магазина
$key — Защищенный ключ вашего магазина
$image_url — путь к картинка (http://site.ru/published/publicdata/{DBKEY}/attachments/SC/products_pictures/)
$shipping_price — стоимость доставки (для всех товаров одинаковая)
$kurs — курс рубля по отношению к вашей валюте (0 — если в магазине есть валюта RUB)
$testmode — тестовый режим (1 — да, 0 — нет)

Пример можно посмотреть здесь (работает в тестовом режиме)

Метки: vkontakte, wishlist, список желаний, хочу в подарок

« Предыдущая запись

Фильтры в Webasyst Shop-Script

Следующая запись»

руководство программиста WebAsyst Shop-Script



Просмотров: 5 154

Похожие записи:

  • Easyweb и социальные сети
  • Соц. сети и 1С теперь дружат с Shop-Script
  • easyweb & shop-script & vkontakte

35 Коммент.

  1. Владислав | 11 августа 2010 at 16:36

    Куда надо писать {wishlist}, чтобы кнопка появилась рядом с кнопкой купить? Спасибо

    Ответить
  2. Артем | 11 августа 2010 at 16:42

    в админ панели при редактировании страницы продукта
    ищите {cpt_product_add2cart_button
    и после закрывающей скобки «}» вставляйте {wishlist}

    Ответить
    • Владислав | 11 августа 2010 at 21:35

      Артём, спасибо. Кнопка появилась, но при нажатии на неё вылезает ошибка «При обработке запроса произошла критическая ошибка.
      Если ошибка возникает регулярно, обратитесь в техническую поддержку интернет-магазина.», наверное я что-то сделал не так

      Ответить
      • Артем | 11 августа 2010 at 22:11

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

        Ответить
        • Владислав | 11 августа 2010 at 22:20

          Ух, всё получилось, но правильно я понимаю, что в тестовом режиме желания не добавляются, только пишет, что всё ок, а в списке желаний ни чего нет?

          Ответить
          • Артем | 11 августа 2010 at 22:24

            да. правильно.
            чтобы добавлялось, нужно включить рабочий режим
            а в скрипте 0 изменить на 1 :)

            Ответить
            • Владислав | 11 августа 2010 at 22:28

              Артём, ждём платную часть скрипта ;)

            • Артем | 11 августа 2010 at 22:37

              после выходных надеюсь получится

      • Владислав | 11 августа 2010 at 22:13

        Так с этим разобрался вместо RUB в запросе для моего магазина надо использовать RUR. Теперь появляется неизвестная ошибка

        Ответить
        • Артем | 11 августа 2010 at 22:17

          Вконтакте принимает только RUB и поиск по базе ваших валют идет по слову «RUB»

          поэтому используйте переменную kurs, но вконтакт все равно должно передаваться RUB (в javascript)

          Ответить
  3. Владислав | 11 августа 2010 at 22:59

    Артём, а не подскажете почему не работает, когда я добавляю {wishlist} в product_brief.html? На месте кнопки появляется пробел.

    Ответить
    • Артем | 11 августа 2010 at 23:04

      я же писал, тогда нужно добавлять параметр pid=’22′
      где 22 — id продукт )

      Ответить
      • Владислав | 11 августа 2010 at 23:18

        Точно, всё поёт. Спасибо :) ))

        Ответить
  4. Андрей | 16 августа 2010 at 10:57

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

    Ответить
    • Артем | 16 августа 2010 at 11:05

      по их описанию рабочий режим отличается только параметром testmode
      но проверить я не могу — для Украины тестовый режим включить невозможно :(

      Ответить
      • Андрей | 16 августа 2010 at 11:48

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

        Ответить
  5. Артем | 16 августа 2010 at 12:13

    нет. какие варианты доставки желаний могут быть?

    Ответить
  6. Владислав | 16 августа 2010 at 13:30

    Артём, платная половина модуля ещё не готова?

    Ответить
  7. vitalik | 17 августа 2010 at 10:46

    Статья познавательная. Прочитал с удовольствием. Спасибо

    Ответить
  8. Алексей | 24 августа 2010 at 12:59

    Еще в скрипте рекомендую добавить строки аналогичные имеющимся:
    $name=strip_tags($name);
    $name=str_replace(«‘», «», $name);
    $name=str_replace(‘»‘, », $name);
    $name=str_replace(«\r\n», «», $name);

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

    Ответить
  9. Алексей | 1 октября 2010 at 9:13

    Подскажите, а как правильно добавить кнопку «Нравится» для В контакте?
    Вроде, всё просто — но, когда добавляю код кнопка просвечивается через всплывающее окно корзины, а это очень некрасиво.

    Ответить
  10. sp0yler | 5 ноября 2010 at 14:33

    В тестовом режиме выдаёт такое при нажатии на кнопку:

    Ошибка проверки подписи, строка без секрета для подписи (UTF-8):
    item_currency=RUBitem_description=item_id=1269item_name=Timberland….

    Ответить
  11. sp0yler | 5 ноября 2010 at 14:33

    Где копать? :)

    Ответить
    • sp0yler | 5 ноября 2010 at 14:40

      Закрался пробельчик в ключе, поменял, теперь такая ошибка:

      «Произошла критическая ошибка, код ошибки: 1401
      Если ошибка возникает регулярно, обратитесь в техническую поддержку интернет-магазина.»

      Ответить
      • Артем | 12 ноября 2010 at 11:00

        я не знаю что вы делали, не знаю на каком сайте. как я могу помочь?

        Ответить
        • sp0yler | 24 ноября 2010 at 12:19

          Делал на сайте на движке вебасиста по инструкции, которую вы написали.
          Думал, может, вы знаете, что это за ошибка 1401

          Ответить
      • ДмитрийТ | 29 ноября 2010 at 16:31

        Эта ошибка возникает при несоответствии названия валюты магазина и вконтакет.
        Для исправления ошибки используйте переменную $kurs ($kurs=1;)
        Линк на справку вконтакте

        Ответить
  12. Dmitry | 25 ноября 2010 at 23:20

    Подскажите, а на WebAssyst Shop-Script можно сделать эту функцию?

    Ответить
    • Артем | 26 ноября 2010 at 0:45

      это решение опубликовано именно для Webasyst Shop-Script

      Ответить
  13. Алексей | 3 декабря 2010 at 7:43

    Подскажите пожалуйста, ВКонтакте при подключении магазина в настройках что надо писать в поле Адрес обратного вызова при включенном поле Обработка уведомлений?

    Ответить
    • Артем | 3 декабря 2010 at 10:30

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

      Ответить
      • Алексей | 3 декабря 2010 at 11:33

        Для добавления в желания товара из магазина на WA SS это поле выходит не нужно и его можно оставить пустым?
        В спецификации ВК написано следующее: «Обработка уведомлений – если используется только сервис оплаты товаров с сайта Вашего магазина или из Вашего приложения, а сервис Списков Желаний не используется, и товары в каталог не импортируются, то может быть выбран пункт Не обрабатывать. При этом, если товары требуют доставки, то способы доставки и их цены придется задать вручную. Во всех остальных случаях необходимо выбрать пункт Обрабатывать. «

        Ответить
  14. ДмитрийТ | 6 декабря 2010 at 18:17

    При регистрации магазина в ВКонтакте, ВКонтакте требует размещения кнопки «Оплатить ВКонтакте» в корзине, это планируется реализовать? Спасибо.

    Ответить
    • Артем | 6 декабря 2010 at 19:07

      планируется, но сроков назвать не могу.
      пе

      Ответить
  15. Артем | 30 декабря 2010 at 17:02

    Теперь нет необходимости создавать дополнительный модуль для оплаты через «Вконтакте». Теперь это доступно всем в обновлении №300

    http://easyweb.org.ua/shop-script/update300/

    Ответить

Оставить комментарий Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

  • Twitter
  • Facebook
  • VK
  • RSS


| |

Последние комментарии

  • Артем к записи Фильтр по ценам
  • Виктор к записи Фильтры в Webasyst Shop-Script
  • Виктор к записи Фильтр по ценам
  • Артем к записи дерево категорий по-своему (shop-script)
  • Максим к записи дерево категорий по-своему (shop-script)

Самые комментируемые

  • Автоматическое заполнение рекомендуемых товаров (145)
  • дерево категорий по-своему (shop-script) (135)
  • Фильтры в Webasyst Shop-Script (62)
  • WP Cumulus для Shop-Script исправленный (58)
  • Оплата через LiqPay для Shop-Script (51)
  • WP Cumulus для Joomla и Shop-Script (50)
  • Две цены в WA Shop-Script (49)

Самые читаемые

  • Фильтры в Webasyst Shop-Script - 13 101 просмотров
  • дерево категорий по-своему (shop-script) - 12 217 просмотров
  • ввод даты, календарь javascript - 9 738 просмотров
  • Автоматическое заполнение рекомендуемых товаров - 8 224 просмотров
  • Бренды в Webasyst Shop-Script - 8 064 просмотров
  • Модули - 8 020 просмотров
  • Слайдер в списках продуктов - 6 223 просмотров

Архивы







Поддерживать ежемесячно с помощью Donutor

Свежие записи

  • Руководство пользователя Joomla 2.5
  • Вкладки на странице продукта
  • Весенние скидки от WebAsyst
  • Обновление Shop-Script
  • Фильтр по ценам

друзья

  • at-home
  • Fisher — сотовые телефоны
  • WebAsyst
  • Zdorovy.in.ua

Счетчики

www.megastock.ruЯндекс.Метрика

Мета

  • Войти
  • RSS записей
  • RSS комментариев
  • WordPress.org

© 2008-2012 EasyWeb.org.ua | Дизайн elegantthemes.com | Разработано на CMS WordPress