|
||||||||||||||
| 前のページ 1 2 3 4 次のページ | ||||||||||||||
| Sledgeでの実装 | ||||||||||||||
|
さて、これまではテンプレート機能の必要性、利点について説明してきましたが、ここではいよいよWebアプリケーションフレームワーク「Sledge」でのテンプレート機能の実装について見ていきたいと思います。 |
||||||||||||||
| テンプレートエンジンの選択 | ||||||||||||||
|
テンプレートエンジンとは、データやマクロなどのいわゆるパーツと、HTMLなどで記述されたテンプレートを元にそれらを処理し、出力するしくみのことを言います。HTMLに特化したテンプレートエンジンもありますが、多くのテンプレートエンジンはHTML以外のフォーマットにも対応しています。 Perlでのテンプレートエンジンの代表的なモジュールと言えば、以下の2つのモジュールがあります。
これらはCPAN(http://search.cpan.org/)からダウンロードすることができます。それぞれのモジュールには得手不得手がありますので、実装するWebアプリケーションの目的にあったモジュールを選ぶことをお勧めします。 Sledgeではテンプレートエンジンを自由に選べるように設計されていますが、インストール時に標準で使用することのできるテンプレートエンジンはこの2つになっています。また「sledge-setup」を使用してできるプロジェクトのテンプレートでは「Template-Toolkit」を使用するようになっていますので、ここでは「Template-Toolkit」を使用することを前提に説明していきます。 |
||||||||||||||
| テンプレートの作成 | ||||||||||||||
|
まずはテンプレートを作成します。今回はヘッダ、フッタを外部ファイルから読み込んで生成するページを作成してみましょう。最初にヘッダ、フッタのパーツを用意します。 |
||||||||||||||
| ヘッダ(header.inc) | ||||||||||||||
<html>
|
||||||||||||||
|
フッタ(footer.inc) |
||||||||||||||
<hr>
|
||||||||||||||
|
前回の連載の中にも出てきましたが、通常のHTMLの文法では見慣れない[% … %]という記述があると思います。これがTemplate-Toolkitのコードを書く部分になります。ヘッダでは「ようこそ、○○さん!」を表示するコードが記述されています。ビジネスロジックの中でuserというハッシュの中にnameというキーでユーザ名を設定することで、テンプレートエンジンでHTMLコードが生成されるときに[% user.name %]がユーザ名に置換されるようになっています。 |
||||||||||||||
| メインファイル(index.html) | ||||||||||||||
[% INCLUDE 'include/header.inc' %]
|
||||||||||||||
|
メインファイルの中では、[% INCLUDE 'ファイル名' %]という部分でヘッダとフッタを最初と最後で読み込むようにしています。またメイン部分では、連載一覧と作者を[% FOREACH … %]というループ関数を使用して表示しています。 |
||||||||||||||
|
前のページ 1 2 3 4 次のページ |
||||||||||||||
|
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||

