まずは、SMARTYのクラスを定義します。
Smartyクラスから継承して、テンプレートのディレクトリも定義しておきます。
[DOCUMENT_ROOT_DIR]/SMT.php
require_once(”smarty/Smarty.class.php”);
class SMT extends Smarty {
public function __construct() {
$this->Smarty();
$this->template_dir=ROOT_DIR.”/template/”;
$this->compile_dir=ROOT_DIR.”/tmplate_c/”;
}
}
class SMT extends Smarty {
public function __construct() {
$this->Smarty();
$this->template_dir=ROOT_DIR.”/template/”;
$this->compile_dir=ROOT_DIR.”/tmplate_c/”;
}
}
| template_dir | : | テンプレートのソースを保存するディレクトリです。 |
| compile_dir | : | テンプレートをコンパイルしたPHPソースが作成されますので、 パーテーションを書き込み可能にしてください。 |
※ROOT_DIRは、アクセスできない場所にした方がいいでしょう。
次に、テンプレート。
拡張子は、別に何でもいいらしいが、おいらは「 .tpl 」を使ってます。
[ROOT_DIR]/template/test.tpl
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
<html lang=”ja”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=EUC-JP”>
<META HTTP-EQUIV=”Pragma” CONTENT=”no-cache”>
<LINK rel=”stylesheet” href=”./test.css” type=”text/css”>
<title></title>
</head>
<body>
{* これはコメントですよ(〜〜) *}
{$data}
</body>
</html>
</div>
<html lang=”ja”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=EUC-JP”>
<META HTTP-EQUIV=”Pragma” CONTENT=”no-cache”>
<LINK rel=”stylesheet” href=”./test.css” type=”text/css”>
<title></title>
</head>
<body>
{* これはコメントですよ(〜〜) *}
{$data}
</body>
</html>
</div>
コメントは「 {* 」と「 *} 」の間に記入します。
PHPから渡されるデータは、「 { 」と「 } 」で挟んで埋め込みます。
(CSSは適宜に作成)
最後にPHPからの呼び出しですが、直接出力する方法と、一旦変数に格納する方法があります。
下記は直接出力する方法です。
[DOCUMENT_ROOT_DIR]/test.php
define(”DOCUMENT_ROOT_DIR”, “/home/***/public_html/***/”);
define(”ROOT_DIR”, “/home/***/smarty/***/”);
//配置は各自の環境に合わせてください。(***の部分は任意。)
require_once(”SMT.php”);
$o_smarty =& NEW SMT();
$o_smarty->assign(”data”,”ここに表示したいデータを記入します。変数や配列でもかまいません。”);
$o_smarty->display(”test.tpl”);
define(”ROOT_DIR”, “/home/***/smarty/***/”);
//配置は各自の環境に合わせてください。(***の部分は任意。)
require_once(”SMT.php”);
$o_smarty =& NEW SMT();
$o_smarty->assign(”data”,”ここに表示したいデータを記入します。変数や配列でもかまいません。”);
$o_smarty->display(”test.tpl”);
| assaign | : | SMARTYにデータを渡します。 |
| display | : | テンプレートにデータを代入したPHPソースを実行し、HTMLを表示します。 |
TrackBack URI : http://njcfactory.com/bbg/wp-trackback.php?p=156
Comments (1)
[...] // require_once(”SMT.php”); //SMARTYの定義はここを参照。 $o_smarty =& NEW SMT(); [...]
ピンバック by いつもパソコンの前 » SMARTYでメールのテンプレートを作る。 — 2011年5月25日 @ 5:09 AM