MT4.2:QRコード画像を生成するプラグイン(改)
前回の「MT4.2:QRコード画像を生成するプラグイン」の、xampp上にQRコードが出来ない原因がはっきりとわかった。
ついでに少し手直しした。
動作しなかった原因
Windows版xammp上で指定したディレクトリへ画像ファイルが出来なかったのは、先の「嵌りメモ(perlのxampp環境でのファイル吐き出し実験)」エントリに記述のとおり。
修正したプラグインコード
引数を追加して、変換したいURL、変換後のQRコードのパスを渡すようにした。
情報量がちょっと大きいようなので、プラグイン中の「Version => 2」から「Version => 3」へ変更した。
引数の名前とかちょっとてきとう。構成は最小単位に近い。
package MT::Plugin::GetQRCode;
use strict;
use MT::Plugin;
use base qw(MT::Plugin);
our $VERSION = '0.1';
use MT::Template::Context;
use GD::Barcode;
my $plugin = new MT::Plugin::GetQRCode({
id => 'GetQRCode',
key => 'get_qrcode',
name => 'GetQRCode',
version => $VERSION,
description => 'GetQRCode',
author_name => 'apstar',
author_link => 'http://www.mtde.info/',
});
MT->add_plugin($plugin);
sub init_registry
{
my $plugin = shift;
$plugin->registry({
tags => {
function => {
'GetQRCode' => \&_hdlr_getqrcode,
},
},
});
}
sub _hdlr_getqrcode {
my ($ctx, $args) = @_;
my $url = $args->{url};
my $qrcodeurl = $args->{qrcodeurl};
my $oGdBar = GD::Barcode->new('QRcode', $url,
{ Ecc => 'L',
ModuleSize=> 2,
Version => 3,
});
open(OUT,">$qrcodeurl");
binmode OUT;
print OUT $oGdBar->plot->png;
close OUT;
}
1;
使用例
こんな感じでいいみたい。
QRコード生成プラグイン 実験
<MTSetVarBlock name="myurl"><MTBlogURL></MTSetVarBlock>
<MTSetVarBlock name="qrurl">C:\xampp\htdocs\test\amemakanpei.png</MTSetVarBlock>
<mt:GetQRCode url="$myurl" qrcodeurl="$qrurl">
今後の課題
作成元文字列に日本語を混ぜると、その生成QRコードを読み取った際に文字化けする。
ローカル環境でできたたので、このプラグインをアップロードし、CORESERVER上でちょっと試したが、QRコード画像ファイルが生成されない。なんで?
- カテゴリ:215プラグイン関係
トラックバック(1)
このブログ記事を参照しているブログ一覧: MT4.2:QRコード画像を生成するプラグイン(改)
このブログ記事に対するトラックバックURL:
» MT4.2:QRコード画像を生成するプラグイン(改)(pligg.com)~のトラックバック
嵌りメモ(perlのxampp環境でのファイル吐き出し実験) 続きを読む
- Categories
- Entries
-
- MT4.2:JPEGファイルのEXIF情報を取得するプラグイン(Ver0.5)
- MT4.2:JPEGファイルのEXIF情報を取得するプラグイン(Ver0.4)
- memo:perlでプラグイン Image::ExifとImage::Info
- MT4.2:JPEGファイルのEXIF情報を取得するプラグイン(Ver0.3)
- MT4.2:JPEGファイルのEXIF情報を取得するプラグイン(Ver0.2)
- MT4.2:JPEGファイルのEXIF情報を取得するプラグイン(GPS Ready)
- MT4:エントリのURLをQRコードで自動生成する
- MT4.2:QRコード画像を生成するプラグイン(改)
- 嵌りメモ(perlのxampp環境でのファイル吐き出し実験)
- MT4.2:QRコード画像を生成するプラグイン
- MT4.2:JPEGファイルのEXIF情報を取得するプラグイン(失敗)
- 管理画面を拡張する(メニューとメソッド追加)
- MT4.1:追加したファンクションタグのみへモデファイア追加
- MT4.1:エントリの既存DBへアクセスしてデータ取得
- MT4.1:MTの計算機能を拡張するプラグイン(CalcExp)開発の話
- MT4.1:MTの計算機能を拡張するプラグイン(CalcExp)配布
- MT4.1:営業日(休日)をイッパツで表現するカレンダープラグイン(改)
- MT4.1:プラグイン作成におけるDBへのフィールド追加について(プラグイン設定編)
- MT4.1:プラグイン作成におけるDBへのフィールド追加について(ブログ毎編)
- MT4.1:プラグイン作成におけるDBへのフィールド追加について(カテゴリ編)
- MT4.1:プラグイン作成におけるDBへのフィールド追加について(エントリ編)
- MT4.1:カテゴリの並べ替え(オリジナルプラグイン+ハッシュ変数)
- サンプルプラグインを手入力した(AddField)
- MT4.1:営業日(休日)をイッパツで表現するカレンダープラグイン
- サンプルプラグインを手入力した(RandomEntry)
- 最小単位のプラグインを生成するサンプル(ファンクション、ブロック、モデファイア、コールバック)
コメントする