スキンの継承機能を整理
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を、以下の内容にしてください。
4)skins/default/ディレクトリにあるhead.incを、skins/default2/ディレクトリにコピーします。
5)skins/default2/head.incを、次のように書き換えてください。
6)管理ホームに行き、グループ一覧の右のほう、『設定』をクリックします。
7)『使用するスキン』に『default2』を指定して、保存します。
これで、サイト全体が赤っぽくなるはずです。default2ディレクトリにはskin.incとhead.incのたった二つのファイルしかありませんが、default2スキンはdefaultスキンの派生スキンであることを指定しているため(skin.incに記述した<%view.extends(default)%>がそれ)、default2スキンで記述しなかったコンポーネントについては、defaultスキンのものが利用されます。
同様の方法で、管理画面用のスキンもカスタマイズすることが可能です。管理画面用スキンの選択は『あなたの設定』のところに有ります。
デフォルトスキンを継承するケースについて、簡単に説明します。ここでは例として、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スキンのものが利用されます。
同様の方法で、管理画面用のスキンもカスタマイズすることが可能です。管理画面用スキンの選択は『あなたの設定』のところに有ります。