あたらしものずきっ!

試してみたものとか、遊んでみたものを色々記してみます。

簡単な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>

途中だけど、いまこんな具合。