XHTML形式

ブラウザでプレビュー可能

PHPTAL テンプレートエンジンのテンプレートファイルは、XHTML 形式です。 テンプレートファイルをブラウザでプレビューして表示が確認できます。

タグ内に出力するtal:content

タグ内に、PHP プログラムからのデータを表示する方法です。 下のような記法のいずれかを用いて、H1タグ内に、変数 title の中身を表示するようにしていできます。

<h1 tal:content="title" />
<h1 tal:content="title">ダミータイトル</h1>

例えば title が「XHTMLテンプレート」だっとすると、PHPTAL で処理すると <h1>XHTMLテンプレート</h1> という表示になります。

PHPTAL で処理しない場合 (テンプレートを直接表示した場合)、HTML ファイルとして閲覧できます。 2番目の記法だと、HTML として閲覧するとH1内に「ダミータイトル」と表示されるので、レイアウト等のチェックがしやすくなります。

tal:content を用いる他、下のような書き方も可能です。

<h1>${title}</h1>

繰り返し実行するtal:repeat

データが配列や連想配列やオブジェクト等で与えられた時、反復して実行することができます。 このとき用いるのが tal:repeat です。

postsが反復可能なデータで、その中にdateというデータがある場合を考えてみましょう。例えば以下のようなデータがあるとします。

array(
	array("date" => "2010年10月10日"),
	array("date" => "2011年11月11日"),
	array("date" => "2012年12月12日")
)

日付データを span で表示したい場合、PHPTAL は下記のようになります。

<div tal:repeat="item posts">
   <span tal:content="item/date">x年y月z日</span>
</div>

素の PHP で記述すると、下記のようになるでしょう。

<php foreach ($posts as $item) :?>
<div>
   <php printf ('<span>%s</span>',$item->date) ;?>
</div>
<php endforeach;?>

タグ全体を置き換えるtal:replace

tal:content は、HTML タグ内部を、PHP からの変数に置き換えます。 tal:replace を使うと、HTML タグ全体を、PHP からの変数に置き換えます。

下の例では、<span> タグ全体が description に置き換えられます。

<p><span tal:replace="description" >Sample Data</span></p>

変数description が、「PHPTAL は、HTML レイアウトを崩さないテンプレートエンジンです」の場合、下記のように置き換えます。

<p>PHPTAL は、HTML レイアウトを崩さないテンプレートエンジンです</p>
Copyright (C) 2003-2012. PHP で WEB 作成 All rights reserved.
  • よくある質問