Генерация QR-кода со ссылкой на страницу товара.

Модератор
#
Генерация QR-кода со ссылкой на страницу товара.
Для генерации нам понадобится библиотека PHP QR Code: http://sourceforge.net/projects/phpqrcode/files/

Последующий порядок действий:
1. В директории /modules/ создаете директорию qrcode, в которую распаковываете файлы из скачанного архива.
2. Переходите в директорию /qrcode/ и создаете файл qrcode.php со следующим содержимым:
<?php

require_once('phpqrcode.php');

3. Переходите в корень системы и создаете файл qr.php:
<?php

// Подключаем основные классы
require_once ('bootstrap.php');

$shop_item_id = intval(Core_Array::getGet('shop_item_id'));

// Не показываем, если ее запрашивает бот
if ($shop_item_id && !preg_match('/HTTP|BOT|SPIDE|CRAW|YANDEX|APORT|RAMBLER|SEARCH|SEEK|SITE/iu', Core_Array::get($_SERVER, 'HTTP_USER_AGENT', '')))
{
   $oShop_Item = Core_Entity::factory('Shop_Item')->find($shop_item_id);

   if ($oShop_Item->id)
   {
      $oSiteAlias = $oShop_Item->Shop->Site->getCurrentAlias();
      if ($oSiteAlias)
      {
         $sItemPath = 'http://' . $oSiteAlias->name
            . $oShop_Item->Shop->Structure->getPath()
            . $oShop_Item->getPath();

         //Генерируем QR-код
         QRcode::png($sItemPath);
      }
   }
}

4. В центре администрирования переходим в раздел "Модули" и создаем новый активный модуль. Имя "QR-код", путь - qrcode
5. Переходим в XSL-шаблон товара и в темплейте товара "shop_item" добавляем сам показ QR-кода:
<img src="/qr.php?shop_item_id={@id}" alt="" />


В результате получим QR-код cо ссылкой на товар.
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: Генерация QR-кода со ссылкой на страницу товара.
Спасибо как раз изобретал велосипед Сам мастерил такое!
Skype:ferdinant1988 ICQ:311960596 E-mail: ferdinant@i.ua
Модератор
#
Re: Генерация QR-кода со ссылкой на страницу товара.
Пожалуйста
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: Генерация QR-кода со ссылкой на страницу товара.
Александр, огромное спасибо! Очень удобно и модуль просто устанавливается. Подскажите, если нужен другой размер картинки с QR-кодом, где это можно настроить?
yestravel
Модератор
#
Re: Генерация QR-кода со ссылкой на страницу товара.
Ох, Вы такие вопросы задаете)) Откровенно говоря, я только с утра увидел эту библиотеку и подробно не разбирался. Сейчас посмотрел - есть задание размеров и качества QR-кода (в демке на странице библиотеки есть http://phpqrcode.sourceforge.net/ ). Если "зазырить" метод png() класса QRcode, то видно, что он принимает параметры $pixelPerPoint и $outerFrame. Cтроку:

QRcode::png($sItemPath);


Нужно заменить на:

QRcode::png($sItemPath, false, 4, 6);


Где 4 - это ECC кода, т.е процент нечитаемых кодовых слов,которые могут быть восстановлены в QR-коде без потери данных (от 1 до 4):
    
    L - Low(Слабый) - 7% кодовых слов может быть восстановлено
    M - Medium(Средний) - 15% кодовых слов может быть восстановлено
    Q - Quartile(Нормальный) - 25% кодовых слов может быть восстановлено
    H - High(Высокий) - 30% кодовых слов может быть восстановлено


6 - это размер QR-кода (от 1 до 10).

Сразу оговорюсь, что второй параметр - это возможность сгенерировать код в файл, в нем указывается путь и название файла с кодом. Так как в данном примере код генерируется "на лету", то он идет как false.
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: Генерация QR-кода со ссылкой на страницу товара.
Большое спасибо!!! Всё отлично настраивается!
yestravel
Модератор
#
Re: Генерация QR-кода со ссылкой на страницу товара.
Пожалуйста
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: Генерация QR-кода со ссылкой на страницу товара.
А я использовал для этого библиотеку гугла и код занял.. одну строчку
email project@bugoff.net skype bugoff.net сайт bugoff.net
Модератор
#
Re: Генерация QR-кода со ссылкой на страницу товара.
Рад за Вас
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
Авторизация