My Jeans CMS

スキンの継承機能を整理

2010年03月02日

スキンの継承機能については、ずいぶん以前から殆どのコードが書きあがっていたのですが、まだ完成していませんでした。今回のバージョンで細かく見直して、実際に継承が行えるようになりました。

デフォルトスキンを継承するケースについて、簡単に説明します。ここでは例として、default2という名のスキンを作成し、defaultスキンの改変バージョンとして利用するやり方に付いて、取り上げてみます。

defaultスキンでは、head.incにおける記述によってスタイルシート(cssファイル)を指定していますので、head.incを改変し、サイト全体が赤っぽくなるようにしてみます。Nucleusで同様のことをしようとすると、書き換えたhead.incだけでなく、すべてのファイルを含んだスキンを用意し、skinbackup.xmlを書き換える必要がありました。Jeansでは、スキンの継承機能を用いて、より少ない手間でこれを行うことができます。

1)まず、skinsディレクトリに、default2という名で新しいディレクトリを作成します。
2)skins/default2/ディレクトリに、skin.incという名で、新しいファイルを作成します。
3)skin.incを、以下の内容にしてください。
<%view.extends(default)%>
<%view.include(/default/skin.inc)%>

4)skins/default/ディレクトリにあるhead.incを、skins/default2/ディレクトリにコピーします。
5)skins/default2/head.incを、次のように書き換えてください。
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<link rel="alternate" type="application/rss+xml" title="RSS" href="feed.php" />
<link rel="stylesheet" type="text/css" href="<%view.skinfile(styles/base.css)%>" />
<!--[if IE 5.5000 | IE 6]><link rel="stylesheet" type="text/css" href="<%view.skinfile(styles/ie6.css)%>" /><![endif]-->

<link rel="stylesheet" type="text/css" href="<%view.skinfile(styles/red01.css)%>" />
<!--
<link rel="stylesheet" type="text/css" href="<%view.skinfile(styles/blue01.css)%>" />
<link rel="stylesheet" type="text/css" href="<%view.skinfile(styles/yellow01.css)%>" />
-->

6)管理ホームに行き、グループ一覧の右のほう、『設定』をクリックします。
7)『使用するスキン』に『default2』を指定して、保存します。

これで、サイト全体が赤っぽくなるはずです。default2ディレクトリにはskin.incとhead.incのたった二つのファイルしかありませんが、default2スキンはdefaultスキンの派生スキンであることを指定しているため(skin.incに記述した<%view.extends(default)%>がそれ)、default2スキンで記述しなかったコンポーネントについては、defaultスキンのものが利用されます。

同様の方法で、管理画面用のスキンもカスタマイズすることが可能です。管理画面用スキンの選択は『あなたの設定』のところに有ります。

コメント

コメントはありません

コメント送信