Google
 
SMARTY
たぶねこ @ 2007年6月12日 11:43 PM

まずは、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/”;
 }
}
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>

コメントは「 {* 」と「 *} 」の間に記入します。
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”);
assaign SMARTYにデータを渡します。
display テンプレートにデータを代入したPHPソースを実行し、HTMLを表示します。

1件のコメント »

  1. [...] // require_once(”SMT.php”); //SMARTYの定義はここを参照。 $o_smarty =& NEW SMT(); [...]

    ピンバック by いつもパソコンの前 » SMARTYでメールのテンプレートを作る。 — 2011年5月25日 @ 5:09 AM

この投稿へのコメントの RSS フィード。 TrackBack URI

コメントする

*

Copyright (c) 2007 njcFactory All rights reserved.
HTML convert time: 0.268 sec
Images is enhanced with WordPress Lightbox JS by Zeo
Powered by WordPress.