テンプレート内でのURLの書き方

uri_for()

テンプレートファイルで以下のように記述する。user_name=XXXというクエリストリングが付与される。

 [% Catalyst.uri_for('/login',{user_name => user.user_name}) %]

URLを/で区切りたい場合は、以下のようにする。(http://xxx/login/USER_NAMEのようになる)

 [% Catalyst.uri_for('/login',user.user_name) %]

これをアクションクラスでは以下のようにして受け取る。

 sub login : Local {
     my ($self, $c, $user_name) = @_;
 }

uri_with()

検索結果表示画面でのページングなどで、パラメータ付きのURLをページ番号のみ変えて引き回したい時に使う。例えば、http://xxx/search?date=20070401というURLで検索結果が表示されるページがあったとして、そのページのテンプレートで以下のように指定する。

 <a href="[% uri_with({page_no =>1})%]">前のページ</a> | 
 <a href="[% uri_with({page_no =>3})%]">次のページ</a>

すると、下のようなURLが組み立てられる。

 <a href="http://xxx/search?date=20070401&page_no=1"> | 
 <a href="http://xxx/search?date=20070401&page_no=3">

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2010-05-18 (火) 13:41:44