Drupalで見ているページのQRコードを表示する

Last edited on 2012/04/22 (日) - 10:30

mobile_codes というDrupalのモジュールを使って、今見ているページのQRコードを左サイドバーに表示してみた。

用途としては、見ているページをあとで携帯から見たいと思ったときに簡単にリンクを送れるということを想定している。

以下の手順でできた。

1.mobile_codes モジュールを導入する。
2. 表示用のブロックを作成する。内容はなんでもいいからダミーを入れておく。というのは、実際の表示は、block-block-{id}.tpl.php を使って行うため。
3.2で作成したブロックのidを調べる。一度表示させて、そのページのソースを見てみる。すると、該当箇所に以下のようになっているはず。

<div id="block-block-3" class="block block-block"><div class="block-inner">

この場合、ブロックのid が”block-block-3"なので、block-block-3.tpl.php というファイルを作成すれば、このブロックだけに適用される。

デフォルトの block.tpl.php (themes/engines/phptemplate/block.tpl.php)を、使用しているテーマの下に、block-block-{id}.tpl.php という名前でコピーする( id は上で調べた数字)。ブロックの中身を表示している以下の記述がある。

<?php print $block->content; ?>

これを以下に置き換える。

<?php
$path = trim($_GET['q'], '/');
$path = drupal_get_path_alias($path);
$path = 'http://nyanchew.com/' . $path;
$arguments[] = array('name' => 'thisnode', 'data' => 'link', 'type' => 'qr', 'size' => 'small');
print theme_mobilecode($path, $arguments). '
'. $path;
?>

これでできあがり。(http://nyanchew.com/ のところはWEBアクセスのベースのURLに書き換えてください)

mobile_codes モジュールは、QRコードの生成を http://mobilecodes.nokia.com/ というノキアのサービスを使って行っている。

コメント

モバイルコードモジュールの使い方にとっても頭が痛いときに、
この文章を勉強しました。
本当に助かりました?!
ありがとうございました。

上の文章を翻訳して、中国語の私のブログに転載しました。
わがままで申し訳ないですが、
いい文章ですから、許すをもらわなくても、とても転載したいです。

ありがとう?