QRコードの生成にはPEARのパッケージ「Image_QRCode」を使用
モジュール自体の使い方は
PHPでちょっと奥に突っ込んだQRコード生成 – PHPに惚れました。
を参考にしました
何はともあれダウンロード
~~~
wget http://download.pear.php.net/package/Image_QRCode-0.1.1.tgz
tar zxvf Image_QRCode-0.1.1.tgz
~~~
中身の確認
~~~
Image image data doc tests
~~~
まずここがはまるポイント
普段sambaを使ってwindows環境で作業をしているのですがImageとimageディレクトリがwindowsだと同じものと判断されて中身がちゃんと見れない・・・
なので作業はlinux上でやりましょう
EC-CUBE上に設置する
data/module/以下に配置をします
~~~
module/Image/QRCode.php
module/Image/QRCode/
module/image/
module/data/
~~~
名前の問題を受けないようにこんな風に配置
配置を換えたのでQRCode.phpを書き換えます
~~~
public function __construct($options = array())
{
$this->path = “@data_dir@” . DIRECTORY_SEPARATOR . “Image_QRCode” .
DIRECTORY_SEPARATOR . “data”;
if (“@data_dir@” == “@” . “data_dir@”) {
// development path
$this->path = dirname(__FILE__) . “/data”;
}
$this->image_path = “@data_dir@” . DIRECTORY_SEPARATOR . “Image_QRCode” .
DIRECTORY_SEPARATOR . “image”;
if (“@data_dir@” == “@” . “data_dir@”) {
// development path
$this->image_path = dirname(__FILE__) . “/image”;
}
~~~
pearのモジュールなのにpearを呼んでない。不思議!
表示する
html/qr.phpを新規で作成
~~~
makeCode(htmlspecialchars($_GET[‘qrcode’], ENT_QUOTES));
?>
~~~
表示したいtplに以下のタグを記入
*hogehogeをQRコードにしたい文字列にしてください
~~~
携帯サイトでの問題を解決
data/class/helper/SC_Helper_Mobile.php 244行目をコメントアウト
~~~
// 端末に合わせて画像サイズを変換する。
//ob_start(array(‘SC_MobileImage’, ‘handler’));
~~~
html/require.phpに追記
~~~
/* qr.phpのときだけ、リダイレクト解除 */
if(!preg_match(“/qr.php/i”, $path)) {
header(“Location:”. SC_Utils_Ex::sfRmDupSlash($url . $path));
exit;
}
~~~
これでよーやくトップページにQRコードが表示されます。
携帯でクーポンを表示したい、なんて時に使える気がするので共有なのでした
コメント