いつかきっと役に立つ

テンプレートエンジンSmartyを使ってみる

Posted on: 11月 27, 2007

なにかと便利なテンプレートエンジンですがね。デザインとロジックを分離できるっちゅんで、やってみようかなと。以前PEARにはチャレンジしましたがね。インクルードパスの設定がうまくいかないかなんか、ことごとく呼び出せず挫折しまして。成功したのはcalendarくらいだったかな。smartyはそんなことにならなければいいなっと。はい。

でわっっ、インストールから。参考にしたのはここ→ねこすけのSmarty

  • smarty template engineに行ってsmarty本体を落としてくる。ハツカミが落としたときのカレントバージョンは2.6.18(March 7th, 2007)でしたな。
  • 解凍したら拡張子ないファイルがいっぱい詰まっててびっくりしますが、実際に使うのはlibsフォルダの中だけなんですと。
  • サーバの適当なとこにアゲる。ハツカミはドメインルート直下にlibs/としてファイルを置いてみる。
  • smartyが使うフォルダを作る。templatestemplates_ccacheの3つを公開フォルダの配下に作ってパーミッションを700に変更する。はい。

一応これでインストールは完了のようですな。あとはガリガリ書いていくだけっちゅことでした。テンプレートファイル(~.tpl)はtemplatesフォルダに置けって書いてありましたな。やってみましょ。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Smartyテスト</title>
</head>
<body>
<p>smartyちゃんと動くかテストします。</p>
<p>取得した値:{$value} </p>
</body>
</html>

これでtest.tplってしてtemplatesフォルダに保存します。で、ロジック書く。

<?php
require_once("libs/Smarty.class.php");
$smarty =new Smarty();
$smarty->template_dir = "templates";
$smarty->compile_dir = "templates_c";
$smarty->cache_dir = "cache";
$smarty->assign("value","ハツカミ123");
$smarty->display("test.tpl");
?>

として、公開フォルダ(今回はドメインのドキュメントルート)に置きます。ブラウザでアクセスして、

smartyちゃんと動くかテストします。

取得した値:ハツカミ123

って表示されれば成功◎うまくいきましたな^-^。。。ファイルを置く位置(階層)を変えたときはrequire_onceとtemplatesとtemplates_cのパスを書き換えます。これね、なんぼやってもできなくって泣きそうになりました♂なんかできたみたいなんでメモしとかないと忘れるっっ。

phpの位置→ドキュメントルート/○○○/●●●/xxx.phpのとき、

require_once→../../libs/Smarty.class.php

template_dir→../../templates

compile_dir→../../templates_c

cache_dir→../../cache

なんだかな~。。。相対パスの書き方っちゅか、考え方がよくわかってないのかな~。。。ファイルを呼び出したりインクルードするときは、カレントディレクトリからのパスになるようにしないとダメとかどっかに書いてましたな。何段階にも呼び出したりすると、わけわからんくなるっちゅことで、そのへんはまたいずれ♂

広告

コメント / トラックバック2件 to "テンプレートエンジンSmartyを使ってみる"

coolwebさま:

ですっっ◎w

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

ろぐカレンダ

2007年11月
« 10月   12月 »
 123
45678910
11121314151617
18192021222324
252627282930  

進行中のミッション

【鹿角の文化財級建築物を調査せよ!】

Flickr Photos:canon



Dente_FAQ_Grosseto_04.02.2017-11

Suffragettes project - costume-making, 20 April - 12

さらに写真を表示

Blog Stats

  • 122,508 hits
%d人のブロガーが「いいね」をつけました。