CMS入門 CMSのテンプレート作成難易度

CMSとテンプレート作成難易度はソフトによって違う

CMSでは、ページ生成はテンプレートを用いて行っています。同じカテゴリのページ生成に同じテンプレートを使うことでページデザインなどの統一感を持たせることができます。

新しくカテゴリを増やす場合には、新規のテンプレートを作成することになります。テンプレートの作成手段には、JavaやPHPなどプログラムを用いて書くもの、HTMLタグに似た形式のタグを利用して書くものがあります。テンプレート作成の難易度が高いとカテゴリを増やすことが難しくなりますので、CMSを選ぶ際には、テンプレートの記述方法の柔軟性も重要なポイントとなります。

OpenCmsのテンプレート

OpenCmsのテンプレートはJavaでプログラムを書くもの、タグを利用したもの、その組み合わせと3種類の記述方法が提供されています。この違いは何でしょうか?

Javaプログラムによるものは非常に柔軟性に富んだテンプレートを作成することができます。商品データベースと連携して商品ページを生成することもできますし、他のウェブサーバーと連携したページ生成も可能ですが、JavaプログラムとCMSに関する知識が必要になります。

タグによる記述は、Javaプログラムの知識を必要とせず、ブログソフトウェアのテンプレート作成のように行うことができます。Javaプログラムを用いた場合よりも柔軟性は劣りますが、通常のブログソフトウェア以上の機能を実現することができます。

以下がOpenCmsのタグによるテンプレートサンプルです。

<%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms" %>

<cms:include property="template" element="head" />

<cms:contentload collector="singleFile" param="%(opencms.uri)" editable="true">

  <!-- タイトル表示 -->
  <h1><cms:contentshow element="Title" /></h1>

  <!-- サブタイトル表示 -->
  <cms:contentcheck ifexists="SubTitle" >
    <h2><cms:contentshow element="SubTitle" /></h2>
  </cms:contentcheck>

  <!-- セクションデータを表示 -->
  <cms:contentloop element="Section">
    <cms:contentcheck ifexists="Title" >
    <!-- セクションタイトル表示 -->
    <h3><cms:contentshow element="Title" /></h3>
    </cms:contentcheck>
    <!-- セクションデータ表示 -->
    <p><cms:contentshow element="Paragraph" /></p>
  </cms:contentloop>

</cms:contentload>

<cms:include property="template" element="foot" />

このようにブログのテンプレートを作成するのと同じような要領で作成が可能です。

(2009/4/24)


CMS referenceCMS_consulting