.Water-Sunlight
.サイトメニュー
.検索
.オンライン状況
登録ユーザ: 0
ゲスト: 5
.
<< Prev
Smartyの仕組み
« INDEX »
PHP テンプレート編
Next >>
テンプレートの作成
作成日:2006/08/07

4B Smartyの基本的な利用法

4B.1 基本例題

 Smartyの基本的な利用法を説明するために、1つの例題を提供します。 この例題は非常に簡単なテンプレートシステムです。 Smartyを使えば、短時間で独自のテンプレートシステムを構築できます。 また、じっくり育てていけば独自のCMSを作るのも夢ではありません。 本章では、その入り口となるSmartyの基本的な使い方について説明します。

本章で作成する例題プログラムの名称を

ss-tpl : Smartyを使った簡単なテンプレートシステム
と呼ぶ事にします。

例題プログラムの概観

ss-tplの仕様
  • ss-tplはコンテンツにテーマ(テンプレート)を適用したページを作成します。
  • コンテンツはコンテンツファイルに保存し、コンテンツファイルは以下のネーミングルールに従います。
    {コンテンツ名}.html
    ※コンテンツ名は英数半角とハイフン( - ),アンダースコア( _ ),ピリオド( . )
     からなる文字列です
  • コンテンツファイルの第1行にはメーニューで使用するタイトル文字列を格納します。書式は以下のとおりです。
    <!-- タイトル文字列 -->
  • ページの呼び出しは以下のURL書式で行います。
    http://domain/path/index.php?p={コンテンツ名}

例題プログラムの構成

ディレクトリ構成
  • ss-tpl/ --- トップディレクトリ
    • contents ------ コンテンツファイルを保存
    • templates ----- テーマファイルを保存
    • templates_c --- コンパイルされたテンプレートを保存
    • configs ------- テンプレートの設定ファイルを保存
ファイル構成
プログラム:
全てのコンテンツはプログラムを通して呼び出されます。
  • index.php --- メインプログラム
  • utils.php --- メインプログラムからインクルートするユーティリティ
  • MySmarty.class.php --- テンプレートクラスの定義
テンプレート:
サイトのテーマファイルです。全てのコンテンツはテーマによってラップされるので、 統一された概観をユーザに提供できます。
  • templates/theme.html --- テーマファイル
  • templates/style.css ---- CSSファイル
設定ファイル:
テンプレートに静的な設定値を与えるためのファイルです。 本例題では、htmlのメタタグに対する設定を行います。
  • configs/meta.conf --- メタタグの設定ファイル
コンテンツ:
例題では以下のテスト用コンテンツを準備します。
  • contents/index.html --- トップページ
  • contents/news.html ---- ニュース
  • contents/links.html --- リンク集

例題プログラムの設定について

 ss-tplでは、サイト情報とコンテンツ情報に関する設定をindex.phpの中で行います。 また、HTMLのメタタグについての設定はconfigs/meta.confの中で行います。以下に設定例を示します。

設定項目/ファイル設定例
サイト情報
index.php
// サイト情報
$site_lang    = 'ja';                    // 使用言語
$site_charset = 'EUC-JP';                // 使用文字セット
$site_title   = 'Smarty Sample Program'; // サイトタイトル
コンテンツ名
index.php
// コンテンツ名
$contents[] = 'index';  // トップページ
$contents[] = 'news';   // ニュース
$contents[] = 'links';  // リンク集
メタタグの設定
configs/meta.conf
meta_robots      = "index,follow"
meta_keywords    = "キーワード1,キーワード2,キーワード3"
meta_description = "サイトの説明"
meta_rating      = "general"
meta_author      = "Y2Sunlight Office (www.y2sunlight.com)"
meta_copyright   = "Copyright (C) 2006 Y2Sunlight Office."
<< Prev
Smartyの仕組み
« INDEX »>
Page Top
Next >>
テンプレートの作成

.