簡単なNanoAでの書き方
NanoAを使った書き方は公式サイトに載っているけど、pmファイルとmtファイルのネーミング等はHelloWorldが全てを物語っていることに弄った後気がついた。詳細はNanoA::Dispatchに。
NanoAの読み込み
HelloWorldがstart.pmとstart.mtを使っているのを見て、「これはサンプルだからとりあえずこうしたんだろう」とか思ったけど違った。info.pmとinfo.mtとか名付けてアクセスしてみたところ表示されず。
Dispatch.pmを覗いてみたところ、startのファイル名で認識していることを確認。とりあえず簡単なサンプルをこしらえる。色々これこれこうしたい、とか練り始めると止まらないけど、まずは必要な情報の出力を行うページの作成から。
app/iTS/start.pm
package iTS::start; use strict; use warnings; use utf8; use base qw(NanoA); sub run { my $app = shift; my $lang = $app->query->param('lang'); return $app->render('iTS/template/start', { package => { name => "aaa", version => "1.0", url => "http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=*****&mt=8", price => "230", desc => "testテスト", } }); } 1;
app/iTS/template/start.mt
<html> <head> <title></title> </head> <body> <h1><?= $c->{package}->{name} ?></h1> <p><?= $c->{package}->{desc} ?></p> <h2><?= $c->{package}->{name} ?>概要</h2> <dl> <dt>バージョン</dt> <dd><?= $c->{package}->{version} ?></dd> <dt>価格</dt> <dd><?= $c->{package}->{price} ?>Yen</dd> </dl> </body> </html>
途中だけど、いまこんな具合。