Jump to content
RGB

[Поддержка] QR-код на странице товара (бесплатно, vqmod)

Recommended Posts

QR-код на странице товара (бесплатно, vqmod)


QR-код на странице товара (бесплатно, vqmod)


Что это и зачем это нужно

Простое решение для вывода на каждой странице товаров из вашего магазина компактного блока с qr-кодом, содержащим сокращенную ссылку на эту страницу. Для чего это нужно - покупатель может распечатать страницу и никогда не потеряет ее адрес, ведь он закодирован в qr-коде. Также покупатель может выбрать интересующие его модели и не запоминать их полные названия или адреса, а просто отсканировать их всех смартфоном и пойти к вам в офис выбрать лучшее решение. А для владельца магазина это легкий способ дать адрес страницы на флаере или буклете, чтобы не мучать покупателей запоминанием полного адреса страниц. Кроме того, это своеобразный элемент "продвинутости" магазина, поскольку qr-коды все более интенсивно используются, и пока еще это сравнительно редкое явление в интернет-магазинах.

Как устанавливать

Можно легко обойтись без vqmod, поскольку достаточно вставить в нужное место (по умолчанию в начале блока <div class="description">) этот блок кода в файла product.tpl:

<img style="float: right;" src="http://chart.apis.google.com/chart?chs=60x60&cht=qr&chld=M|0&chl=<?php function get_bitly_short_url($url,$login,$appkey,$format='txt') {$connectURL = 'http://api.bit.ly/v3/shorten?login='.$login.'&apiKey='.$appkey.'&uri='.urlencode($url).'&format='.$format;return curl_get_result($connectURL);}function curl_get_result($url) {$ch = curl_init();$timeout = 5;curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);$data = curl_exec($ch);curl_close($ch);return $data;}$src_url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];$short_url = get_bitly_short_url($src_url,'BITLY_LOGIN','BITLY_API_KEY');echo $short_url; ?>" alt="<?php echo $heading_title; ?> QR Code">

Но есть один нюанс - для работы дополнения (для использования сервиса сокращения ссылок bit.ly) нужно иметь логин и код Bit.ly API, которые и нужно вставить вместо BITLY_LOGIN и BITLY_API_KEY соответственно (можно обойтись и без него, но тогда ваши qr-коды будут очень большими, чем это плохо - ответ в теме.).

Чтобы получить код Bit.ly API:

1) Зарегистрироваться на сайте bit.ly

2) Перейти в меню профиля в пункт Settings.

3) В нижней части страницы нажать Show legacy API Key

4) Скопировать поля Login и API Key в соответствующие места в коде дополнения (BITLY_LOGIN и BITLY_API_KEY)

В отличии от сокращения ссылок на основе Google API, здесь все должно работать даже при отключенном Seo URL.

Протестировано на стандартных версиях 1.5.1.3, 1.5.2.1, 1.5.4.1, должно работать и на более старых/новых.

Особенности использования

Зачем сокращать ссылку - ответ в теме.

В куске строки

http://chart.apis.google.com/chart?chs=60x60&cht=qr&chld=M|0

можно указать не только размер блока с кодом, но и уровень коррекции при ошибках распознавания (чем он выше, тем больше шансов, что код прочитается даже в плохих условиях), по умолчанию он равен L (низкий), я использую M (средний), поскольку кодируется компактная сокращенная ссылка и можно без усилий увеличить читабельность кода.

Еще один важный момент - после уровня коррекции указывается ширина рамки (у меня там 0), ее указывают не в пикселях, а в строках, поэтому при изменении учитывайте особенности QR-кода.


  • Добавил
    RGB
  • Добавлено
    04.03.2013
  • Категория

 

  • +1 6

Share this post


Link to post
Share on other sites

На 1.5.1.3 - работает. Спасибо полезная вещь.

  • +1 1

Share this post


Link to post
Share on other sites

Меня спрашивают, зачем усложнять простую работу с апи гугла по построению qr-кодов (как, например, в дополнении товарища mzn) и применять еще и сокращение ссылок. Объясню наглядно, допустим у нас есть магазин с таким адресом к товару:

supershop.com/Компьютеры/Программное_обеспечение/Музыкальные_редакторы/Sony_Sound_Forge

Чтобы такая страница правильно открывалась, кириллица преобразуется в свой формат, и получается такая ссылка (в нормальных браузерах, не считая ie, отображается первый, читабельный, вариант):

http://supershop.com/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D1%8B/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5/%D0%9C%D1%83%D0%B7%D1%8B%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D1%8B/Sony_Sound_Forge

Чтобы закодировать такую длинную ссылку в QR-код, нужен большой блок, но если мы сократим эту ссылку, используя апи гугла, то получим адрес (ведущий на ту же страницу):

http://goo.gl/BX9Ny

Естественно, для кодирования такой ссылки, нам нужно гораздо меньше места. Слева - результат кодирования полной ссылки, справа - сокращенной:

MWlz+.png

Думаю разница очевидна.

  • +1 3

Share this post


Link to post
Share on other sites

Извиняюсь, с чем-то конфликтует:

2013-03-04 16:56:56 - PHP Notice: Undefined property: stdClass::$id in /var/www/user....../data/www/lamponoff.ru/vqmod/vqcache/vq2-catalog_view_theme_default_template_product_product.tpl on line 65

Share this post


Link to post
Share on other sites

в файле vqmod/vqcache/vq2-catalog_view_theme_default_template_product_product.tpl строка 65:

<img style="float: right;" src="http://chart.apis.google.com/chart?chs=85x85&cht=qr&chld=M|0&chl=<?php $longUrl = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $apiKey = '*****************'; $postData = array('longUrl' => $longUrl, 'key' => $apiKey); $jsonData = json_encode($postData); $curlObj = curl_init(); curl_setopt($curlObj, CURLOPT_URL, 'https://www.googleapis.com/urlshortener/v1/url'); curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curlObj, CURLOPT_HEADER, 0); curl_setopt($curlObj, CURLOPT_HTTPHEADER, array('Content-type:application/json')); curl_setopt($curlObj, CURLOPT_POST, 1); curl_setopt($curlObj, CURLOPT_POSTFIELDS, $jsonData); $response = curl_exec($curlObj); $json = json_decode($response); curl_close($curlObj); $url = $json->id; echo $url; ?>" alt="<?php echo $heading_title; ?> QR Code">

Share this post


Link to post
Share on other sites

в файле vqmod/vqcache/vq2-catalog_view_theme_default_template_product_product.tpl строка 65:

<img style="float: right;" src="http://chart.apis.google.com/chart?chs=85x85&cht=qr&chld=M|0&chl=<?php $longUrl = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $apiKey = '*****************'; $postData = array('longUrl' => $longUrl, 'key' => $apiKey); $jsonData = json_encode($postData); $curlObj = curl_init(); curl_setopt($curlObj, CURLOPT_URL, 'https://www.googleapis.com/urlshortener/v1/url'); curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curlObj, CURLOPT_HEADER, 0); curl_setopt($curlObj, CURLOPT_HTTPHEADER, array('Content-type:application/json')); curl_setopt($curlObj, CURLOPT_POST, 1); curl_setopt($curlObj, CURLOPT_POSTFIELDS, $jsonData); $response = curl_exec($curlObj); $json = json_decode($response); curl_close($curlObj); $url = $json->id; echo $url; ?>" alt="<?php echo $heading_title; ?> QR Code">

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

$url = $json->id;

что-то вроде

$id; 

чтобы получилось вот так:

$id; $url = $json->id;

или просто отключите запись предупреждений в логах сервера.

Share this post


Link to post
Share on other sites

Насколько я понял поправить надо Ваш xml файл?

Share this post


Link to post
Share on other sites

Да, а потом почистить кеш вкмода и написать сюда о результатах :-)

Поправил XML кеш очистил, не помогло :(

Share this post


Link to post
Share on other sites

Отключил. Спасибо.

Share this post


Link to post
Share on other sites

а на ЧПУ по умолчанию работает ? (не seoPRO)

Share this post


Link to post
Share on other sites

что-то у меня на сайте при сканировании ссылки не туда ведут куда надо. Google API подключил (прописал в VQMOD)

Просканируйте у себя

http://аксессуарыдлятебя.рф/index.php?route=product/product&path=160_161&product_id=153

Share this post


Link to post
Share on other sites

Ну так у вас ведь не используется seo-url, посмотрите первое сообщение в теме:

Также для корректной работы дополнения очень рекомендуется использовать seo-url

Share this post


Link to post
Share on other sites

Хорошая новость для тех, у кого нет сео_урл - скоро обновлю мод с использованием апи bit.ly вместо гугловского, тогда все должно будет работать даже в самых запущенных случаях :-)

P.S. И у кого были проблемы с Undefined property: stdClass::$id, тоже все ок станет

Share this post


Link to post
Share on other sites

Дополнение обновлено, у кого были предупреждения про Undefined property - не забудьте обновиться и получить новый код API

  • +1 1

Share this post


Link to post
Share on other sites

Большое спасибо. Новая версия отлично работает и предупреждения в админки Undefined property не выскакивают :-)

  • +1 1

Share this post


Link to post
Share on other sites

Это все круто, но хоть какое нить кеширование прикрутите :)

Share this post


Link to post
Share on other sites

Спасибо!!! за дополнение очень даже кстати учитывая набирающую популярность QR кодов.

Share this post


Link to post
Share on other sites

Интересно. Спасибо. У меня короткие ссылки, не вижу смысла пользоваться Bit.ly. Но не могу понять как url данной страницы вытащить? =)

<img style="float: right;" src="http://chart.apis.google.com/chart?chs=60x60&cht=qr&chld=M|0&chl=УРЛ_страицы">

Share this post


Link to post
Share on other sites

А можно с помощью вашего модуля qr-код запихнуть в таб описания товара вконце, а не так как у вас в дескрипшен?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By zcell
      300.00 руб
      Скачать/Купить дополнение


      Списание остатков товара только при изменении статуса в админке
      Что делает модуль:
      Убирает списание товаров при оформлении заказа. Списывает остатки товара из заказа и остатки опций только при изменении на заданный в админке статус (стандартная настройка, см скриншот) Для чего это нужно:
      Если вы продаете товары, которые бывают в наличии в небольших количествах, то будет удобно списывать остатки товара по опреденному статусу, вместо автосписывания при оформления заказа клиентом.
      Например: оформлен заказ, но клиент отказался от него, либо что-то не подошло. В стандарте - товар уже будет списан, и если остаток был равен одному, другой клиент не сможет заказать товар. С модулем - товар спишется, только если вы поставили в заказе статус "Обработка" (зависит от настроек).
      То есть подтвердился заказ, тогда и бронируем товар за клиентом.
      Как установить:
      Залить файл в папку vqmod/xml Требования:
      opencart/ocstore 1.5.5 установленный vqmod Добавил zcell Добавлено 16.01.2016 Категория Прочее Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 1.5.5.1
      1.5.5 ocStore 1.5.5.1.2
      1.5.5.1.1
      1.5.5.1 OpenCart.Pro, ocShop Обращение к серверу разработчика  
    • By zcell
      750.00 руб
      Скачать/Купить дополнение


      Мультивалютный магазин с автоконвертацией по курсу ЦБ РФ и Yahoo (автообновление и фиксированные курсы валют)
      Цены по курсу ЦБ РФ и Yahoo | Разные валюты у товаров | Фиксированные курсы валют |
      100% совместимость | Пакетное назначение валюты |  Легкая установка
       
      Новая версия от 21 ноября!

      ВОЗМОЖНОСТИ:
      - Актуальные цены по курсу ЦентроБанка РФ и Yahoo
      - Пакетное редактирование валюты товаров по категории и/или бренду
      - Автоподсчет сконвертированной цены при редактировании цен товара;
      - Разные валюты для опций, скидок, акций и основной цены;
      - Возможность указать разные валюты у товаров;
      - Возможность использовать валюты с фиксированным курсом;
      - Клиенты видят суммы в валюте по умолчанию (рассчитанные по актуальному курсу);
      - Автоматическое обновление курса валют.
       
       
      ПРЕИМУЩЕСТВА:
      - Простая установка;
      - Интеграция в ядре системы, что позволяет получить интеграцию с подавляющим большинством модулей и шаблонов;
      - Не грузит систему, всего один файл.
        
       
      ПОДДЕРЖКА:
      В случае, если модуль не заработает в вашем магазине (1% вероятность), могу оказать бесплатную помощь по интеграции, но не более 30 минут (в 99% случаев этого времени достаточно).
      Сообщения без адреса сайта будут игнорируются. Для помощи по интеграции потребуется доступ по FTP и доступ в административную панель.
       
         
       
       
      УСТАНОВКА:
      0. Сделать БЕКАП базы данных!
      Для Opencart 1.5.x:
      1. Закачать через FTP файл модуля в папку vqmod/xml
      Для Opencart 2.1.x, 2.2.x, 2.3.x,3.x.x:
      1. Воспользоваться стандартным установщиком дополнений Opencart.
      Для всех версий:
      2. Открыть раздел Система - Локализация - Валюты
       
      КАК ПОЛЬЗОВАТЬСЯ:
      - После установки, зайдите в раздел (Система - Локализация - Валюты) - модуль автоматически проверит и создаст необходимые для функционирования поля
      - Зайдите в Система - Настройка -> Локализация и выберите подходящий метод обновления валют
      - Добавьте валюты (Система - Локализация - Валюты), если отсутствую необходимые валюты. Необходимо указать правильно код валюты - большими буквами, например RUB, USD, EUR
      - Выберите в каждом товаре, у которого валюта отлична от основной, нужную валюты (селектор находится справа от поля цены)
      - Если вам нужна фиксированная валюта (например 1 уе = 65 руб), то создаете новую валюту, пишите вымышленный код валюты, например FIX, FIC, FIE, чтобы система обновления не меняла курс автоматом, в поле значения курса пишите значение курса в рублях, далее выбираете эту валюту в нужных товарах.
        
      КАК РАБОТАЕТ МОДУЛЬ (для программистов и интеграторов):
      - Модуль создает дополнительные поля price_value и currency в таблице product, product_special, product_discount и product_option_value.
      - В поле price вышеуказанных таблиц хранится вычисленное значение цены по указанному значение price_value для валюты currency.
      - При обновлении курса валют во всех таблицах запускается перерасчет цены согласно новому курсу
      - При каждом сохранении товара поля для данного товара пересчитываются по текущему курсу
      - Фронт никак не модифицируется модулем, в связи с чем получаем 100% совместимость
       
      Административная панель: 
      - Цены товаров могут задавать в разных валютах (например указываете 10 USD в админке - на фронте будет цена по актуальному курсу доллара в рублях);
      - Валюты задаются как индивидуально для каждого товара, так и работает пакетное назначение, например в BatchEditor;
      - В заказах фиксируется сумма в рублях, по курсу соответствующему моменту оформления заказа (то есть цена товаров в заказе будет фиксирована).
       
      Фронт: 
      - Все цены автоматически показываются в основной валюте сайта;
      - Работает конвертация цены Опций, Скидки за количество;
      - Работает конвертация в мини-корзине, корзине и оформлении заказа;
      - Также корректно работает переключение между валютами в интернет магазине с пересчетом по актуальным курсам.
       
      Обновление курса валют:
      - Происходит при открытии главной страницы административной панели;
      - Источником курса валют является ЦБ РФ и Yahoo (если не удалось получить данные у ЦБ РФ, получит у Yahoo).
       
      Валюты:
      1. Стандартные валюты
      Любые валюты, которые поддерживаются ЦБ РФ или Yahoo
      2. Фиксированные курсы валют
      Например, если поставщик зафиксировал курс на 75 руб.
      Можно будет завести валюту и указать ей нужный курс, при обновлении курс будет сохраняться.
       

       

       


       
      Добавил zcell Добавлено 28.12.2015 Категория Цены, скидки, акции, подарки Системные требования Сайт разработчика Старая цена 900 Метод активации Автоматическая активация Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1
      1.5.3.1 ocStore 3.0
      2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop Не проверялось Обращение к серверу разработчика Нет  
    • By balukoff
      300.00 руб
      Скачать/Купить дополнение


      Стрелки изменения порядка товаров в модуле "Рекомендуемые"
      Обработка добавляет стрелки к стандартному модулю "Рекомендуемые" в административной части opencart для изменения порядка товаров в списке.
      Например, нам нужно, чтобы товар Ipad был выше iMac, но тогда приходится удалять весь список и проходить всю операцию добавления. Однако модуль эту проблему решает.
      Необходим vqmod.
      - Не меняет исходные файлы
      - Использует "легкую" модель изменения DOM-структуры "на лету"
      - Сохранение модуля и вывод в шаблон - в стандартном режиме
      - Возможны доработки и обновления
      - Тестировалось на opencart/ocstore 1.5.x
      - Добавлена поддержка opencart 2.x
      Установка: просто поместите файл featured.xml в каталог vqmod\xml на Вашем сервере
      Для версии 2.x неоходимо установить модификатор через панель администрирования
      Добавил balukoff Добавлено 01.12.2015 Категория Прочее  
    • By savage4pro
      Скачать/Купить дополнение


      Замена символа рубля vQmod
      Мод заменяет знак валюты рубля на симпатичный почти уже стандартный символ (U+20BD), представленный в наборе "PT Sans" от google fonts.
      Подходит для любого шаблона OpenCart версий 1.5.x при отсутствии прямых модификаций ядра.
      Схема работы:
      добавляет в БД новую таблицу `oc_currency_modsymbols` с одной записью - для валюты с кодом RUB
      на этапе выборки данных о валютах оборачивает оригинальный символ в конструкцию для обработки подключаемыми при загрузке страницы стилями
      проверка таблицы (в случае отсутствия таблицы - создание, если пустая - заполнение) при каждом вызове конструктора класса Currency
      не ломает возможность менять оригинальный символ в админке, который будет показан при выводе шаблонов, в которых нет возможности подключать дополнительные стили (например, почтовые уведомления), пробелы до/после оригинального символа выносятся за пределы конструкции, т.е. сохраняются
      после установки можно вручную добавлять записи в таблицу `oc_currency_modsymbols` для форматирования символов валют по желанию (для включения в конечную строку стандартного значения, т.е. для автозамены, вместо него следует указать "_default_symbol_")
      мод можно безболезненно отключать/удалять, функциональность при этом вернется к стандартной
      Требуется vQmod версии 2.4.1.
      Установка:
      скопируйте содержимое папки "upload" в корень вашего сайта
      удалите файлы "/vqmod/vqcache/vq2-*"
      зайдите в панель администратора и очистите кэш vqmod и системный

      В случае некорректного отображения блока с форматированной ценой (например, вылезающие закрывающие теги вида: руб." />") необходимо в шаблоне, где эта цена выводится, оборачивать её вывод в strip_tags();
      Добавил savage4pro Добавлено 06.11.2015 Категория Прочее  
    • By LIAL
      Скачать/Купить дополнение


      Очистка кэша для OC 1.5.6.x
      Очистка кэша для Opencart 1.5.6.x
      Локализация: Русский, Английский
      Очистка кеша: Системный, Vqmod, mods.cache, кэш изображений.
      Директории проходит рекурсивно, удаляя затем пустые.
      НЕ удаляет файлы: index.*, .gitignore, .htaccess, .hgignore
      Для установки скопируйте корень папки upload в корень сайта, далее в панели администратора дайте права для доступа и изменения к модулю cache/cleaner.
      Очистка кэша находится в меню Администратора -> Система -> Очистка кэша
      Добавил LIAL Добавлено 11.09.2015 Категория Кэширование, сжатие, ускорение  
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.