バージョン選択

フォーラム

メニュー

オンライン状況

70 人のユーザが現在オンラインです。 (63 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 70
もっと...

サイト内検索

質問 > フロント機能 > QRコードの生成がうまくいきません

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
syuwa
投稿日時: 2014/10/18 20:03
対応状況: 開発中
半人前
登録日: 2014/9/7
居住地:
投稿: 22
QRコードの生成がうまくいきません
何度目かの質問になってしまいます。申し訳ありません。
現在PEARのImage_QRCode-0.1.1を使用し、商品詳細ページへQRコードの生成を行うため開発を行っています。

ドキュメントルート直下へqr.phpを作成し、

<?php
require_once("./data/module/Image/Image/QRCode.php");
require_once("./require.php");
$option = array(
"module_size"=>3,
"image_type"=>"jpeg", //画像形式jpeg,pngを指定
"output_type"=>"display", //出力方法を指定する display return returnの場合はmakecodeで画像リソースが返される
"error_correct"=>"H"
);
$qr = new Image_QRCode();
$qr->makeCode(htmlspecialchars($_GET['qrcode'] ,ENT_QUOTES),$option);
?>

LC_Page_Products_Detail.php へ
$this->url="http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];

Detail.tpl
EC-CUBE2.13.2 携帯やスマートフォンで商品を見るばあい、QRコードを読み込んでください。<br>
<img src="<!--{$smarty.const.ROOT_URLPATH|cat:"qr.php?qrcode=$url"}-->"/>

PEARパッケージをmodule/Image/Imageへ置き、Exception.phpへのパスも通しました。

実際にページを表示すると

画像の枠のみが表示され、実際にQRコードが生成されていません。
画像のURLをとってみると
http://○○/qr.php?qrcode=http://○○/products/detail.php?product_id=2
と表示され、qrcodeへurlの受け渡しはできているように思えます。
makeCode も実際に実行されていることを確認できています。

エラーログを覗いてみると
Warning(E_WARNING): Invalid argument supplied for foreach() on [/var/www/html/eccube-yoshida.com/html/data/module/Net/URL.php(178)] from 60.36.179.68
customer_id =
/var/www/html/eccube-yoshida.com/html/qr.php(3): require_once
/var/www/html/eccube-yoshida.com/html/require.php(38): require_once
/var/www/html/eccube-yoshida.com/html/data/require_base.php(31): require_once
/var/www/html/eccube-yoshida.com/html/data/app_initial.php(50): SC_Initial->init
/var/www/html/eccube-yoshida.com/html/data/class/SC_Initial.php(60): SC_Initial->normalizeHostname
/var/www/html/eccube-yoshida.com/html/data/class/SC_Initial.php(523): Net_URL->__construct
/var/www/html/eccube-yoshida.com/html/data/module/Net/URL.php(129): Net_URL->initialize
/var/www/html/eccube-yoshida.com/html/data/module/Net/URL.php(178): SC_Helper_HandleError::handle_warning

というエラーが表示されますが、URL.phpは初期から変更しておらず、他のphpでもrequire_onceよりrequire.phpを呼び出している例もあります。
QRコードの生成についてはこのPEARを使用してとのことでしたので、他のパッケージは今の所使用できません。
要領を得ていない内容になってしまいましたが、原因を探ろうにもまだ経験が足りずどうアプローチしてよいのか正直わからず頭を悩ませています。
もし、原因や解決法、原因を探るためのアプローチ方法についてでも構いません。どうかご指摘よろしくおねがいいたします。

yuh
投稿日時: 2014/10/20 0:46
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: QRコードの生成がうまくいきません
require_once("./require.php");
って必要ですか?
syuwa
投稿日時: 2014/10/20 15:21
対応状況: −−−
半人前
登録日: 2014/9/7
居住地:
投稿: 22
Re: QRコードの生成がうまくいきません
お返事ありがとうございます。

現在はPCへQRコードの表示を行わせるためにコードをかいていますが、後に携帯端末へのQRコード表示を考えているため記述しています。

実際にこのrequire_onceの記述を削除してみましたが、エラーはきえたもののQRコードは表示されていませんでした。
red
投稿日時: 2014/10/20 15:27
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1568
Re: QRコードの生成がうまくいきません
昔試したことなので、今のバージョンで動くかわかりませんが

http://nob-log.info/2011/02/21/ec-cube%E3%81%AE%E3%83%A2%E3%83%90%E3%82%A4%E3%83%AB%E3%82%B5%E3%82%A4%E3%83%88%E3%81%ABqr%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E5%9F%8B%E3%82%81%E8%BE%BC%E3%82%82%E3%81%86%E3%81%A8%E3%81%97%E3%81%A6/


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

syuwa
投稿日時: 2014/10/21 2:37
対応状況: −−−
半人前
登録日: 2014/9/7
居住地:
投稿: 22
Re: QRコードの生成がうまくいきません
お返事ありがとうございます。
以前このサイトを拝見したことがあり、その通りにディレクトリを配置したことがありましたが解決には至りませんでした。
携帯端末への対応以外の部分は記述は同じだと思われます。
やはりバージョンがうまく対応していないためでしょうか。
sumida
投稿日時: 2014/10/21 9:28
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
Re: QRコードの生成がうまくいきません
横から失礼します。

http://○○/qr.php?qrcode=http://%A1%FB%A1%FB/products/detail.php?product_id=2
この記述の「qrcode=」以降が、そもそも構文として正しく扱われていないのではないでしょうか。

テンプレートで、
「qrcode=」の「http.....=2」の前後に「'」などのデリミタを付加し、
qr.phpでは、
$_GET['qrcode']で取得した文字列から前後に付加したデリミタを削除した後、
makeCodeに渡せば良いのではないでしょうか。
red
投稿日時: 2014/10/21 15:41
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1568
Re: QRコードの生成がうまくいきません
設置の方法があってるとすればまずは
<img src="<!--{$smarty.const.ROOT_URLPATH|cat:"qr.php?qrcode=hogehoge"}-->"/>
こちらでQRコードが表示されるか確認しましょう
これがでなければ、設置が間違っています

表示されたらこちらを試してみてください
<img src="<!--{$smarty.const.ROOT_URLPATH|cat:"qr.php?qrcode="}--><!--{$url|urlencode}-->"/>


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

syuwa
投稿日時: 2014/10/21 23:02
対応状況: 解決済
半人前
登録日: 2014/9/7
居住地:
投稿: 22
Re: QRコードの生成がうまくいきません
お返事ありがとうございます。
一度適当な内容でQRコードの表示を行いたかったのですが、tplファイルへの記述方法が分からず苦戦していたため助かりました。
img src ... hogehoge を表示してみるとうまくいかなかったため
やはりパスに問題があると判断しました。

そしてもう一度パスについて注目していると、
QRCode.phpの image data ディレクトリへのパスが誤っていることに気がつきました。
$this->image_path = dirname(__FILE__) . "../image";
 ↓
$this->image_path = dirname(__FILE__) . "/../image";
(dirname(__FILE__)の使い方を見ても/がどうしても必要にはみえなかったのですが。。)

へと変更したところ無事パスが通り、うまくいきました。
返事を下さった皆々様、本当にありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,305名です
総投稿数は109,692件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.