TOPシステム開発> 設定の変更
まるごとPerl!
使ってわかるCatalyst

第5回:テンプレートの作成
著者:アドウェイズ  加藤 敦   2006/9/19
前のページ  1  2
設定の変更

   View::TTとCharsets::JapaneseとModel::DBICの設定のために、bookmark.ymlを変更します(リスト14)。YAMLなのでインデントに注意してください。
リスト14:bookmark.ymlを設定
name: Bookmark
Charsets::Japanese:
   charsets: 'UTF-8'
View::TT:
   INCLUDE_PATH:
      - 'root/tmpl'
   TEMPLATE_EXTENSION: '.tt'
Model::DBIC:
   connect_info:
      - 'dbi:mysql:bookmark'
      - 'root'

   Charsets::Japaneseは入出力がUTF-8であることを指定しています。View::TTでは、INCLUDE_PATHにテンプレートディレクトリの場所を、TEMPLATE_EXTENSIONにテンプレートファイルの拡張子を指定しています。

   これらの設定はconfigオブジェクトにより、リスト15のようにアクセスできます。なお、リスト14のYAMLファイルのデータ構造をPerlで書くと、リスト16のようになります。

リスト15:bookmark.ymlの設定にアクセス
$c->config->{'View::TT'}->{TEMPLATE_EXTENSION}

リスト16:bookmark.ymlを読み込んだデータ構造
{
   'name' => 'Bookmark',
   'Charsets::Japanese' =>
   {
      charsets => 'UTF-8'
   },
   'View::TT' =>
   {
      INCLUDE_PATH       => ['root/tmpl'],
      TEMPLATE_EXTENSION => '.tt',
   },
   'Model::DBIC' =>
   {
      connect_info => ['dbi:mysql:bookmark','root']
   },
}


テンプレートの作成

   Template-Toolkitをビューに使いますので、そのためのテンプレートファイルを作成します。先ほどのbookmark.ymlに、View::TTのために、INCLUDE_PATHとTEMPLATE_EXTENSIONを設定しました。これにしたがい、root/tmplディレクトリに拡張子.ttのファイルを作ります(表3)

ファイル 役割
header.tt ヘッダーと左サイドメニュー
(Ajax用フォーム含む)
footer.tt フッター
bookmark_list.tt ブックマーク一覧
index.tt heder.tt、bookmark_list.、tt
footer.をttインクルード
delete.tt 削除フォーム
edit.tt 編集フォーム
regist.tt 登録フォーム

表3:Bookmark/root/tmplに用意するテンプレート


静的ファイルの作成

   HTMLデザインにはCSSを使います。このような静的ファイルはBookmark/root/static/以下に置きます。今回はcss/style.cssというファイルを置きます。ここに置いたファイルは、テンプレート内では、「 [% base %]static」のようにして指定します(リスト17)。「[% base %]」には「http://localhsot:3000/」が代入されます。

リスト17:テンプレートから静的ファイルを参照
テンプレートから静的ファイルを参照
(画像をクリックすると別ウィンドウに拡大図を表示します)

前のページ  1  2

株式会社アドウェイズ 加藤 敦
著者プロフィール
株式会社アドウェイズ   加藤 敦
アフィリエイトシステムやモバイルサイトの構築などを経て、現在、技術マネージャーとして新規サービスの設計、システムの標準化などに携わる。個人的にCPANモジュールの開発や、オープンソースのプロジェクトに参加している。


INDEX
第5回:テンプレートの作成
  追加設定とテンプレートの用意
設定の変更