Smarty プログラムとHTMLを切り分けて作業する事が出来るテンプレートエンジンSmartyのご紹介

Smartyでお手軽簡単なんちゃってCMS

2015年3月10日
この記事は掲載から1537日経過しています。
情報が古い可能性が有りますのでご了承下さい

5~6ページのホームページで、ブログやお知らせを書きたいなどの要望が無い、静的HTMLでも十分な場合は、MovableTypeWordPressといったCMSを設置するのも億劫です。ですが、静的HTMLだとヘッダーやフッターに変更があった場合はちょっと面倒です。Dreamweaverのテンプレートを使うって手も有りますが、Smartyを使った方法をご紹介致します。

サンプル

 Smartyテンプレートを作成し、フォルダーにアップロードしておけば、勝手に表示してくれるというもの。

img

例えば、contact.tplhttp://xxxx.xxxx/contact.htmlで表示されるという仕組みです。

セットアップ

セットアップといっても、とりえあえずダウンロードして設置してみるのが早いと思いますので、どうぞ。

ダウンロード

 cacheフォルダーはパーミッションを777に変更して下さいね。

注意 Smartyバージョン

ダウンロードしたファイルに同封されているSmartyはバージョン3です。設置サーバーのPHPバージョンが古いと動作しない場合があるので、公式サイトからバージョン2をダウンロードして入れ替えて下さい。一部ファイルの書き変えがあるので、下の方で説明致します。

注意 .htaccess

RewriteBaseをコメントアウトしていますが、サーバーによってはこれを有効にし、設置場所を設定する必要が有ります。例えばサンプルの場合は以下のような感じです。

RewriteBase /Sample/smartycms

index.phpの解説

Smarty2に入れ替えた場合は、v2x系という部分が二箇所あるので、コメントアウトを外し、v3x系を削除するかコメントアウトして下さい。

解説といってもたいした事はしてないのですが、common_***というテンプレートがヘッダーやフッター、存在しないページの場合に利用されるもので、それ以外のテンプレート名は表示したいページURLと同じもので作成します。

例えば/woks/wk1.tplはhttp://xxx.xxx/works/wk1.htmlで表示されるという感じ。

index.phpは、要求されたURL works/wk1.htmlを表示する為のテンプレート /woks/wk1.tplが存在するかどうかの確認を行い、無ければcommon_404.tplを表示します。

Smarty変数

上記はcommon_header.tplですが、{$doc_root}という変数が書かれています。画像やファイルを読み込む場合は、これを頭に付けてルートを通してあげます。

{$title}は各ページテンプレートに設定されているページ名となります。

こんな感じ。これをページ用ひな形として複製しつつ、HTMLをベタ貼りしていくだけです。

オマケ

トップページにサイトマップが表示されていますが、これは自分がどんなページを作ったのかを一覧表示するオマケの関数で、ページ名が取得出来ませんので、実際のサイトマップとしては使えません。ただ、上手く加工すればGoogleに送信するサイトマップとしては使えるかもしれません。

 

Smarty使う方が面倒くせぇって方は素直に静的HTMでどうぞ。

 

 
  • このエントリーをはてなブックマークに追加
  • LINEで送る

PAGE TOP