Magic3のテンプレートはどのようなものか?

Magic3のテンプレートは、Webサイトの基本デザインを主に決定する部品です。デザインテンプレートとも呼びます。
サイトの基本デザインをパッケージングしたものは、CMSによって呼び方はいろいろで「テーマ」や「スキン」などとも呼ばれます。
基本的な考え方は同じで、部品を切り替えることによってデザインが変更できるということです。
Magic3のテンプレートには、デザインに必要なHTMLファイル、画像、動画、Javaスクリプトなどが1つのディレクトリ配下にパッケージされています。(ディレクトリ構成)
テンプレートをサーバへアップロードやダウンロードする際は、そのディレクトリをまるのままZipファイル形式で圧縮し配布します。
デザインテンプレートを変更することによって、サイトの主要なデザインは変更されます。デザインの変更は一瞬です。
Magic3バージョン1.8以降は、Joomla! v1.5のテンプレート互換です。
Joomla! v1.0のテンプレートでも表示可能ですが、v1.5テンプレートに最適化されています。
Joomla!のテンプレートで多彩なサイト表現ができます。(テンプレートサンプル)

テンプレートの考え方としては、HTMLファイルに場所を示す「ポジションブロック」のタグが任意の位置に埋め込んである
という考えです。そのポジションブロックの位置に、ウィジェットを配置します。1つのポジションブロックには、
複数個のウィジェットの配置が可能です。
ポジションブロックは、テンプレート上の任意の位置に任意の個数設定可能です。
また、テンプレート上のポジションブロックはすべて同列です。名前が異なっているだけで違いはまったくありません。
ウィジェットは、どのポジションブロックに対しても配置可能です。
メイン部やサイド部、どの位置に配置しても同様に動作します。

ウィジェットを取り外し、テンプレートだけを表示した場合は、以下のように 表示されます。
赤枠で囲まれたポジションブロック位置にウィジェットが配置可能です。

template1.gif
template2.gif

テンプレートの仕様については、テンプレート作成基準を参照してください。

テンプレート作成

テンプレート作成ツールの登場により、テンプレート作成もより簡単にできるようになってきました。
Artisteerを使うとマルチブラウザ対応の高品質できれいなテンプレートがすぐに作成できます。
Magic3はArtisteerのテンプレートに完全対応しています。
今後続いて出てくるであろうテンプレート作成ツールにも対応していく予定です。

テンプレートの設定単位

現在はページ単位にテンプレートを設定することが可能です。(テンプレートの選択)
将来的には、以下のようなパターンでの利用を予定しています。

  • マルチブログでブログ作者ごとに異なるテンプレートを使用
  • 時間設定での切り替え
  • コンテンツIDがn~mまでのテンプレート指定
  • ログインユーザ単位

テンプレートの最新の技術動向

CMS一般については、初期のころはCSSファイルの切り替えで、見た目が変わりました、背景がかわりましたというレベルでサイトの基本デザインを変更していました。
中にはまだまだそのレベルのCMSもたくさんありますが、最新動向としては、テンプレート自体がプログラムを実行しHTMLタグを生成するようになってきています。
CMS本体からテンプレート側に渡ってくるHTMLデータは必ずしも、テンプレート自体に合ったものではありません。CMS側のデータを、テンプレート自体のデザインマッチするように自分でHTMLタグの修正(フィルタリング処理)を行うようになっています。
こういった処理を行うことで、ブラウザ上でより表現力の高いデザインが可能になります。
実際には、CMSからのHTMLデータを受け取り、一旦XMLオブジェクト化して、階層の修正や例えば画像タグの追加など行って自由にカスタマイズを行っています。
一般的な表現に直すと、HTMLのタグの入れ子構造を維持しながら必要なタグの修正や追加を行っているということです。
Artisteerのテンプレートを解析してみると、最新のテンプレートの表現方法がよくわかります。
テンプレートの技術だけを専門に開拓しているだけあって、Artisteerはテンプレート技術の最先端を進んでいます。