前回のエントリに続き、こんどはフラグを取る話でも。。。 フラグ付き状態で、出力すると Wide character ほげほげ… と叱られます。というわけで、さっそくフラグを取ります。 encode()で取る(バイトコードに変換する)。 #!usr/bin/perl use strict; use warnings; use utf8; use Encode; my $str = "あいう"; #utf-8フラグ付き print encode('utf-8', $str), "\n"; #utf-8フラグを取って出力 binmodeで取る(バイトコードに変換する)。 #!usr/bin/perl use strict; use warnings; use utf8; binmode STDOUT, ':utf8'; my $str = "あいう"; print "$str\n"; とってもコ
before header.ttに <html> 〜〜〜〜〜〜〜〜 </htmlとか書いて、全ttに [%- WRAPPER header.tt -%]とかいちいち書く after wrapper.ttを作成、 [%- app_name = 'アプリの名前' -%] [%- IF template.name.match('^/admin') %] [% base_title = 'uriが/adminから始まるのでここは管理画面的です' %] [%- INCLUDE admin/default/header.tt %] [%- ELSE %] [% base_title = 'ユーザ画面です' %] [%- INCLUDE header.tt %] [%- END %]header.ttには [% content -%]と書いて、各ttでは何も書かずに済むようになった。この[% conte
データの表示時のページングは、頭痛いですよね、自分で実装すると。。 というわけで、やっぱりこういうときは、cpan 様様 。 Data::Page 結果集合に対するページング支援。 とてもシンプル。 簡単なページングならこれで間に合うかな、と思ったけど、 書き方次第では結構色々できそう。 TT+DBIx::Class の合わせ技が素敵DBIx::Classのページング処理 Data::Pageset Data::Page の強力版といったところか。 ここのがわかりやすそうData:Pageset使ってページングをスマートに TTとか使わない場合はこっちのがいいのかな? TT使ってるので、TT+Data::Page で実装。 とりあえず適当に書いてみたけど、なんかいまいちだなぁ。 なんかうまくできないもんですかね。。 CGI部分 #!/usr/bin/perl use Data::Page;
前回のエントリーをネタにもうひとねた。 タイトルの件ってどういうこと?? ってことをあらためて確認。 ファイル名:test.pl(文字コード:utf8) #!usr/bin/perl use strict; use warnings; use utf8; use Template; my $tt = Template->new(); my %hash = ( param => 'あいう', #utf8フラグ付き ); $tt->process('index.tt', \%hash); ファイル名:index.tt(文字コード:utf8) <html> <head></head> <body>出力:[% GET param %]</body> </html> これを実行すると… utf8フラグ付きデータを出力したよ!と叱られます。 ついでに文字ばけらった。なんてことになります。 ここでのミス
Catalyst::Helper::View::TT ( or Catalyst::Helper::View::TTSite ) Template Toolkit 本体が入ってなければ、それも入れる。たぶん一緒に入るはず(覚えてないw) ヘルパースクリプトでTemplate Toolkit用でビューを処理するクラス作成 $ ./script/hoge_creator view TT TT 最初のTTはクラス名、後ろのTTはテンプレートツールキットを使うよ、の意味 $ ./script/hoge_creator view TT TTSite とすると、WRAPPERなどの設定が入ったTTクラスを作ってくれる。詳しくはググってちょうだい。 テンプレートファイル置き場をアプリケーションディレクトリに作成 $ mkdir ${APP_ROOT}/root/tmpl ${APP_ROOT}/Hoge
Catalyst::Helper::View::TTSite を使ってみたら、雛形のテンプレートで TT の WRAPPER がみたことがない使われ方をしていたので、調べてみたら TT の Automatic Wrapper という仕組みだった、という話。 今までの自分の TT の使い方。 普段自分が Web アプリなんかで TT を使う時の使い方は、header.tt と footer.tt とか作って、tt_process で指定するテンプレがそいつらを含めてるという、↓のような感じ。 header.tt。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く