FC2ブログテンプレートのtitle要素をカスタマイズする
FC2ブログテンプレートのtitle要素をカスタマイズする方法を紹介します。
1.完成例
このカスタマイズを行うことで、次のように、ページ別に異なるタイトルを表示できるようになります。
トップページ(「FC2ブログ」がブログ名)

記事ページ(「てすと」が記事タイトル)

カテゴリーページ(「日記」がカテゴリ名)

月別ページ

検索結果ページ

タグ検索結果ページ

以下、テンプレートタグの基本も含め、カスタマイズ方法を解説します。サンプルのテンプレートタグだけ欲しい方は、4項に掲載したものをコピーしてください。
2.ブログ名を表示する
title要素にブログ名を表示するには、次のようにします。
<title><%blog_name></title>
<%blog_name>はブログ名を出力するテンプレートタグです。
3.ページ別に出力情報を変更する
2項の記述では、すべてのページでブログ名しか表示されないので、次のように変更することで、ページ別に出力情報を変えることができます。
<title><%sub_title> <%blog_name></title>
<%sub_title>タグはページに応じた内容を出力するテンプレートタグです。ページ別の出力内容は次のようになります。
| ページ | 出力内容 |
|---|---|
| メインページ | (出力なし) |
| 記事ページ | 記事タイトル |
| カテゴリーページ | カテゴリー名 |
| 月別ページ | 年月 |
| 検索結果ページ | 検索キーワード |
| タグ検索結果ページ | タグ名 |
ただし<%sub_title>タグを使った場合、月別ページについては、例えば2011年12月のページは「201112」という風に表示されるので、見栄えがよくありません。
月別ページは、年を表示する<%now_year>タグと月を表示する<%now_month>タグを使って「2011年12月」と表示させる方がよさそうです。
この<%now_year>タグと<%now_month>タグを使うには「月別ページのときだけ」という条件分岐が必要になります。
また、記事ページのときにブログ名とのセパレータ文字「|」や「-」を使いたい場合もあると思います。このときも条件分岐が必要です。
条件分岐の方法は3項で解説します。
3.ページ別の出力情報を細かく制御する
2項の設定よりさらに細かい制御を行うには次のテンプレートタグを使用します。例えば先程の「月別ページのときだけ異なるタグを利用する」という場合は次のようにします。
<!--date_area--><%now_year>年<%now_month>月<!--/date_area-->
<!--date_area--><%sub_title><!--/date_area-->
<!--date_area-->~<!--/date_area-->は、月別ページのときに囲った部分(上の例では「<%now_year>年<%now_month>月」を出力)を実行する役割があります。
また、<!--not_date_area-->~<!--/not_date_area-->は、月別ページ以外のときに囲った部分(上の例では「<%sub_title>」を出力)を実行する役割があります。
各ページを判定するテンプレートタグは次のとおりです。
| 用途 | テンプレートタグ |
|---|---|
| トップページで表示 | <!--index_area-->~<!--/index_area--> |
| トップページ以外で表示 | <!--not_index_area-->~<!--/not_index_area--> |
| 記事ページで表示 | <!--permanent_area-->~<!--/permanent_area--> |
| 記事ページ以外で表示 | <!--not_permanent_area-->~<!--/not_permanent_area--> |
| カテゴリーページで表示 | <!--category_area-->~<!--/category_area--> |
| カテゴリーページ以外で表示 | <!--not_category_area-->~<!--/not_category_area--> |
| 月別ページで表示 | <!--date_area-->~<!--/date_area--> |
| 月別ページ以外で表示 | <!--not_date_area-->~<!--/not_date_area--> |
| 検索結果ページで表示 | <!--search_area-->~<!--/search_area--> |
| 検索結果ページ以外で表示 | <!--not_search_area-->~<!--/not_search_area--> |
| タグ検索結果ページで表示 | <!--tag_area-->~<!--/tag_area--> |
| タグ検索結果ページ以外で表示 | <!--not_tag_area-->~<!--/not_tag_area--> |
4.title出力用テンプレートタグ
3項までのテンプレートタグを使った、冒頭のtitle要素用のテンプレートタグです。このままコピペしてお使いください。
<title>
<!--permanent_area--><%sub_title><!--/permanent_area-->
<!--category_area--><%sub_title>カテゴリ<!--/category_area-->
<!--date_area--><%now_year>年<%now_month>月アーカイブ<!--/date_area-->
<!--search_area-->「<%sub_title>」の検索結果<!--/search_area-->
<!--tag_area-->タグ「<%sub_title>」の検索結果<!--/tag_area-->
<!--not_index_area--> - <!--/not_index_area--><%blog_name>
</title>
表示内容を変更したい場合は、3項のテンプレートタグ一覧と見比べながら該当箇所を適宜修正してください。
5.FC2ブログテンプレート
今回のカスタマイズは、当ブログで配布中の「FC2ブログテンプレート」にも反映しました。
FC2ブログテンプレート修正(SEO対策版)
当ブログで配布中の FC2ブログテンプレートを修正しました。
1.改善点
(X)HTMLマークアップを見直し、本文が表示されるカラム(中央カラム)がサイドバーのカラム(左カラム)よりも先に出現するようにしました。例えば、3カラムレイアウトは次のように変更しています。
変更前の(X)HTMLマークアップ(抜粋)
<div id="links-left-box">左カラム</div>
<div id="content">中央カラム</div>
<div id="links-right-box">右カラム</div>
変更後の(X)HTMLマークアップ(抜粋)
<div id="content">中央カラム</div>
<div id="links-left-box">左カラム</div>
<div id="links-right-box">右カラム</div>
変更対象は以下の4つのレイアウトです(画像はMovable Typeのものを流用していますが対処は同じです)。
2.テンプレートのダウンロード
FC2ブログテンプレートは、下記のページからダウンロードしてください。
FC2ブログテンプレート修正(フッタ付きリキッドレイアウト対応)
現在配布中の「FC2ブログテンプレート」に、フッタ付きリキッドレイアウトを追加しました。また、カラムレイアウトをこれまでより簡単に切り替えられるように改善しました。CSSのフォントサイズなども見直しました。
これまで配布していたテーマのリキッドレイアウトは、CSSレイアウトの構造上、背景つきのフッタを表示させると、フッタの表示がサイドバーに重なってしまうという欠点があったため、簡易なテキストのみをフッタとして中央カラムに表示していました。
今回、リキッドレイアウトについては、ネガティブマージンを利用したCSSレイアウトに変更したので、背景つきのフッタもサイドバーに重ならずに表示させることができると思います。
今回追加したリキッドレイアウトは以下の 3 種類です。いずれもフッターを表示します(画像はWordPressのものですが大体同じです)。
3カラムリキッド(左右サイドバー)
![]()
3カラムリキッド(右サイドバー)
![]()
なお、デフォルトはレイアウトは、次の3カラム固定レイアウトです。
![]()
テンプレートは「FC2ブログテンプレート」にあります。
FC2 ブログテンプレート不具合のお知らせ
現在、当ブログで配布中の FC2 ブログテンプレートをご利用のサイトで、レイアウトが崩れるという事象が発生しています。
FC2 ブログテンプレートをご利用の皆様にはご迷惑をおかけ致して申し訳ございませんが、下記の内容をご覧になり、該当する場合は、3項の対処を行ってください。
1.事象
3カラム固定レイアウトの場合、IE6 で閲覧すると、右サイドバーが左側に折り返し、右サイドバー上部に「/for one column -->」という文字が表示されます。

また、中央カラム下部の著作権表示のフォントサイズも大きく表示されます。

2.原因
カラムレイアウトを1カラムにした場合に利用するマークアップ(下)があります。
<!-- for one column
<div id="footer-one"><a href="http://www.koikikukan.com/"><img src="http://blog42.fc2.com/k/koikikukan/file/banner.gif" alt="小粋空間" width="128" height="22" /></a><br />
<%ad> | <%ad2><br />
<p style="margin:10px 0 0 0">Copyright c 200x xxxxx. All Rights Reserved.</p>
</div>
/for one column -->
この中に、FC2ブログへ広告を表示するための、ad2 という広告変数(赤色)を埋め込んでいます。この広告変数は規約上、FC2ブログテンプレートへ設定が必須ですが、この広告変数が展開されると、その中に次のような「即席PVカウンター」が出力されます。
<!-- 即席PVカウンター ここから -->
<script language="JavaScript" type="text/javascript" src="http://.../counter.php?id=30"></script><noscript><img src="http://.../counter_img.php?id=30"></noscript>
<!-- 即席PVカウンター ここまで -->
ここで使われている、コメント用のマークアップ <!-- ~ --> が、前述のマークアップ全体を括っているコメント用のマークアップ <!-- for one column ~ /for one column --> と入れ子になってしまい、IE6では正しく表示できず、レイアウトが崩れてしまいます。
3.対策
2項に掲載した、テンプレートの中にある下記のマークアップを丸ごと削除してください。1カラムで使用していなければ、この部分は不要です。
<!-- for one column
<div id="footer-one"><a href="http://www.koikikukan.com/"><img src="http://blog42.fc2.com/k/koikikukan/file/banner.gif" alt="小粋空間" width="128" height="22" /></a><br />
<%ad> | <%ad2><br />
<p style="margin:10px 0 0 0">Copyright c 200x xxxxx. All Rights Reserved.</p>
</div>
/for one column -->
以上です。
FC2ブログの個別記事ページで前後記事のリンクを表示する
FC2ブログテンプレートの個別記事ページに、前後記事のリンクを表示する方法です。

配布中の「FC2ブログテンプレート」に、記事ページの前後記事リンクを表示するためのブロック変数および変数の設定がもれていましたので、本エントリーにて紹介致します。
方法は、下記の内容を、テンプレートで表示したい部分に貼り付ければ、冒頭のスクリーンショットのような前後記事へのリンクが表示されます。
<!--permanent_area-->
<p class="content-nav">
<!--nextentry--><a href="<%nextentry_url>" title="前のページへ" id="nav_next" name="nav_next">«<%nextentry_title></a><!--/nextentry--> | <!--preventry--><a href="<%preventry_url>" title="次のページへ" id="nav_previous" name="nav_previous"><%preventry_title>»</a><!--/preventry-->
</p>
<!--/permanent_area-->
なお、FC2のテンプレートのこのブロック変数および変数のみ、「前」および「後」の表示が逆のようです。
過去のページに遷移する場合は、
<!--nextentry--><a href="<%nextentry_url>" title="前のページへ" id="nav_next" name="nav_next">«<%nextentry_title></a><!--/nextentry-->
新しいページに遷移する場合は、
<!--preventry--><a href="<%preventry_url>" title="次のページへ" id="nav_previous" name="nav_previous"><%preventry_title>»</a><!--/preventry-->
を使います。
中央カラムに「ニュース」「お知らせ」を表示する
公開テンプレートの中央カラムの先頭に「ニュース」「お知らせ」等の、エントリーとは別のちょっとした情報を表示させる方法です。ご質問を頂きましたので本エントリーにて紹介致します。
ここでは Movable Type をサンプルに説明していますが、公開テンプレートであればどれも大体同じカスタマイズで実現可能です。
1.テンプレートの修正
基本は下記のように、テンプレートの中にあるエントリー表示開始位置の少し前に、表示したい情報(青色)を埋め込みます。ここではエントリーと同じスタイルになるようにタイトルと本文を表示しています。
:
<!-- 中央カラム開始 -->
<div id="content">
<div class="blog">
<div class="entry">
<p class="news-header">●お知らせ</p>
<p class="news-content">ブログを始めました。よろしくお願い致します。</p>
</div>
<MTEntries>
<$MTEntryTrackbackData$>
<!-- エントリー日付開始 -->
<MTDateHeader>
<div class="date"><$MTEntryDate format="%x"$></div>
</MTDateHeader>
<!-- エントリー日付終了 -->
:
追加部分全体を div 要素で括り、エントリーと同じ class="entry" を与えています。これで全体のスタイルがエントリーと同じものになります。
その下のタイトルは class="news-header" という新しい class 属性を与え、表示位置を整えています。また本文の p 要素にも class="news-content" を与えています。
2.スタイルシートの修正
下記の内容をスタイルシートに追加します。
.news-header {
margin: 5px 0;
color: #444444;
font-size: 12px;
font-weight: bold;
}
.news-content {
margin-top: 5px;
}
設定は以上です、あとは表示したいタイトルと本文をお好きな内容に書き換えてください。
ただしこの方法では、メインページやアーカイブページに同じ情報を表示したい場合、各テンプレート全てを修正する必要があります。次項ではもう少し変更時の手間が省ける方法を紹介します。
3.テンプレートモジュールにする
お知らせ部分を「テンプレートモジュール」として登録すれば、モジュールの中身を書き換えるだけで、他のテンプレートに同じ内容を反映させることができます。
3.1 新しいテンプレートモジュールの作成
管理メニューより[テンプレート] - [モジュール] - [モジュールを新規作成] の順にクリックし、下記の内容を設定します。
テンプレート名:news
モジュールの内容:下記をコピー
<div class="entry">
<p class="news-header">●お知らせ</p>
<p class="news-content">ブログを始めました。よろしくお願い致します。</p>
</div>
3.2 テンプレートの修正
テンプレートモジュールの内容を表示させたい位置に MTInclude タグを設定します。
:
<!-- 中央カラム開始 -->
<div id="content">
<div class="blog">
<$MTInclude module="news"$>
<MTEntries>
<$MTEntryTrackbackData$>
<!-- エントリー日付開始 -->
<MTDateHeader>
<div class="date"><$MTEntryDate format="%x"$></div>
</MTDateHeader>
<!-- エントリー日付終了 -->
:
スタイルシートは2項の内容をそのままお使いください。
なおこの方法を利用した場合、テンプレートモジュールの内容を変更・保存しただけではメインページや他のアーカイブページに反映されません。
必ず再構築を実施してください。
FC2ブログテンプレート修正
現在公開中のFC2ブログテンプレートに不具合がありましたので修正致しました。
不具合の内容は下記の通りです。
- 同一日に複数投稿がある場合、タイトル上部に表示される投稿日をひとつしか表示しないようにスクリプトで制御していますが、その制御が正常に行われていない
- 同一日に同じタイトルの投稿があった場合、後方のタイトルが表示されない
原因は、以前見出しレベル(hx 要素)の修正を行った際に、スクリプトの修正を行っていなかったためで、日付部分の見出しレベル(h2 → div に変更)をタイトル部分(h3 → h2 に変更)に移動したために上記の問題が発生します。
この不具合は、2006年8月13日以降に本サイトよりテンプレートをコピーしてご利用になっている場合に発生します。不具合が発生している場合、ご利用のHTMLテンプレートの後方にあるスクリプト(リスト1)を、リスト2の内容に変更してください。
参考までに、修正箇所を赤色(削除は消し線つき)、修正後(または追加)を青色で示しています。
リスト1 修正前
<script type="text/javascript">
<!--
var elements = document.getElementsByTagName('h2');
var work;
var work_old = '';
for (i=0; i<elements.length; i++) {
work = elements[i].innerHTML;
if(work == work_old){
elements[i].style.display = 'none';
}
work_old = work;
}
elements = document.getElementsByTagName('h3');
work;
work_old = '';
for (i=0; i<elements.length; i++) {
work = elements[i].innerHTML;
if(work == work_old){
elements[i].style.display = 'none';
}
work_old = work;
}
if (document.getElementById('nav_previous') ||
document.getElementById('nav_next')) {
document.getElementById('nav_main').style.display = 'inline';
} else {
document.getElementById('nav_main').style.display = 'none';
}
//-->
</script>
リスト2 修正後
<script type="text/javascript">
<!--
var elements = document.getElementsByTagName('div');
var work;
var work_old = '';
for (i=0; i<elements.length; i++) {
if((elements[i].getAttribute('class') == 'date') ||
(elements[i].getAttribute('className') == 'date')) {
work = elements[i].innerHTML;
if(work == work_old){
elements[i].style.display = 'none';
}
work_old = work;
}
}
if (document.getElementById('nav_previous') ||
document.getElementById('nav_next')) {
document.getElementById('nav_main').style.display = 'inline';
} else {
document.getElementById('nav_main').style.display = 'none';
}
//-->
</script>
以上です。
ご利用くださっている皆様にはご迷惑をおかけ致しまして申し訳ございません。この場をお借りしてお詫び申し上げます。
公開テンプレートの背景色をCSSで変更する
当サイトで配布しているテンプレート(3・2・1カラム固定レイアウトおよび1カラムリキッドレイアウト)の、ブログの左右および下部に表示されている背景の背景色を変更する方法です。
まずはサンプルをご覧ください。
変更前
![]()
変更後
![]()
以下、変更方法です。
1.固定レイアウト(3カラム/2カラム/1カラム)の場合
リスト1.1に示すスタイルシートの赤色部分を変更します。この設定はスタイルシートの後方にあります。
リスト1.1 固定レイアウト(3カラム/2カラム/1カラム)の場合
body.layout-three-column,
body.layout-two-column-left,
body.layout-two-column-right,
body.layout-one-column {
margin-bottom: 20px;
text-align: center;
background: #36414d;
}
2.1カラムリキッドレイアウトの場合
リスト2.1に示すスタイルシートの赤色部分を変更します。1項と同様、この設定もスタイルシートの後方にあります。
リスト2.1 1カラムリキッドレイアウトの場合
body.layout-one-column-liquid {
background: #36414d;
}
3.変更例:背景色をグレーに変更
冒頭のスクリーンショットの「変更後」の設定はリスト3.1のように変更しています。色はお好みに応じて変更してください。
リスト3.1 変更例
body.layout-three-column,
body.layout-two-column-left,
body.layout-two-column-right,
body.layout-one-column {
margin-bottom: 20px;
text-align: center;
background: #dddddd;
}
カラーの指定方法は、例えば下記にあります。
eWeb:Web配色の見本:Webセーフカラー216色/カラーネーム一覧
その他、Google 等の検索エンジンで「Web」と「配色」「カラー」「カラーチャート」「RGB」等を組み合わせたキーワードで検索すると色々出てきます。
サイドバーの折りたたみ
マルチカラムレイアウトでサイドバーを丸ごと折りたたむカスタマイズを紹介します。動作は Windows XP+IE6.0/Firefox1.5/Opera8.0 で確認しています。
下記にサンプルを用意しましたのでお試しください。
タイトル下の両端にあるリンクをクリックすると、サイドバーの表示・非表示が切り替わります。また折りたたみ時にリンクの内容を変更することができます。サンプルは3カラムですが、2カラムレイアウトでの折りたたみも可能です。
1.動作条件
下記の条件で動作します。
- cookieが有効であること
- 固定レイアウト(3カラムおよび2カラム)であること
また公開テンプレートで動作するように設定していますので、公開テンプレート以外でご利用になる場合はスクリプトを修正する必要があります。
2.機能概要
下記のような動作でサイドバーを折りたたみます。
- 折りたたみ用リンクをクリック
- JavaScript起動
- cookieより現在のレイアウト名を取得
- クリックされたリンク位置(右または左)と現在のレイアウトを判定し、新しいレイアウトに変更
- カラム幅がどのレイアウトでも同一になるように、レイアウトに応じて中央カラム幅を変更
- 変更したレイアウトに応じてクリックされたテキストリンクを変更
- 変更したレイアウト名をcookieに保持
3.ドネーション
カスタマイズ内容のご利用および質問に対する回答等について、ご支援・ご賛同くださる方からの寄付をお待ち申し上げます。
将来に向けてのご寄付(例:ドネーションによる機能追加や改善要望)は、それらが実現しない可能性があるため、ご遠慮ください。
- 現状のコンテンツで役立った
- 質問の回答で疑問や不具合が解消された
- エントリーの修正等で要望内容が満たされた
等の後に判断して頂ければ結構です。
参考:Web投げ銭
上記の「寄付」のリンクをクリックすると Paypal によるお支払いページにジャンプします。
4.スクリプトのダウンロード・アップロード
下記のリンクより sidebarfolder.js をダウンロードし、ご利用のブログのディレクトリにアップロードしててください(ブログツール・ブログサービスによってアップロード先は若干異なります)。
なお、このスクリプトの先頭に使用するレイアウトを設定する行があります。
var layout = 'layout-three-column';
デフォルトは3カラムになっていますので、2カラムで利用する場合は下記のように変更してください。
2カラム(左サイドバー)
var layout = 'layout-two-column-left';
2カラム(右サイドバー)
var layout = 'layout-two-column-right';
5.テンプレートの修正(スクリプトのインクルード)
サイドバーの折りたたみを設定するテンプレートの <head> ? </head> の部分に下記を追加します。
Movable Type の場合
<script type="text/javascript" src="<$MTBlogURL$>sidebarfolder.js"></script>
Serene Bach の場合
<script type="text/javascript" src="{site_top}sidebarfolder.js"></script>
FC2ブログの場合
<script type="text/javascript" src="<%url>file/sidebarfolder.js"></script>
6.テンプレートの修正(折りたたみ用ナビゲーション追加)
6.1 3カラムレイアウトの場合
:
<!-- タイトル -->
<div id="banner">
<h1 id="banner-header"><a href="<$MTBlogURL$>" accesskey="1"><$MTBlogName encode_html="1"$></a></h1>
<h2 id="banner-description"><$MTBlogDescription$></h2>
</div>
<div id="navi">
<ul><li id="leftmark"><a href="javascript:void(0);" onclick="changeSidebar('left');"><</a></li></ul>
<ul><li id="rightmark"><a href="javascript:void(0);" onclick="changeSidebar('right');">></a></li></ul>
</div>
<!-- 左カラム開始 -->
<div id="links-left-box">
<div id="links-left">
:
6.2 2カラムレイアウト(左サイドバー)
下記を追加してください(6.1の追加部分を変更)。
<div id="navi">
<ul><li id="leftmark"><a href="javascript:void(0);" onclick="changeSidebar('left');"><</a></li></ul>
</div>
6.3 2カラムレイアウト(右サイドバー)
下記を追加してください(6.1の追加部分を変更)。
<div id="navi">
<ul><li id="rightmark"><a href="javascript:void(0);" onclick="changeSidebar('right');">></a></li></ul>
</div>
7.テンプレートの修正(JavaScript 追加)
サイドバーの折りたたみを設定するテンプレートの <head> ? </head> の部分に、A List Apart: Articles: Alternative Style: Working With Alternate Style Sheetsの一部を追加します。すでにご利用になっている場合は不要です。
<script type="text/javascript">
<!--
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
//-->
</script>
8.スタイルシート修正
スタイルシートに下記を追加します。
#navi {
padding: 3px;
border-bottom: 1px solid #666699;
text-align:center;
font-size: 12px;
}
#navi ul {
margin: 0;
padding: 0;
display: inline;
}
#navi ul li {
display: inline;
}
#leftmark {
margin-right: 395px;
}
#rightmark {
margin-left: 395px;
}
FC2ブログでのテンプレート設定方法
FC2ブログ登録方法の続きで、当サイトのテンプレートを設定する方法を紹介します。
「FC2ブログの共有デザインに登録すれば?」というツッコミはなしで(笑)。
FC2ブログテンプレート
FC2ブログ用のテンプレートを作りました。サンプルのスクリーンショットは3カラムですが、2カラム・1カラムも用意しております。カラムレイアウトの設定方法につきましては本エントリーの解説を参照ください。
FC2ブログではサービス内に「共有テンプレート」というコーナーがあり、そちらに数多くのテンプレートが登録されていますが、メンテナンスを考慮してとりあえずこのサイトでのみの公開とさせて頂きたいと思います。
FC2ブログの登録および当サイトの公開テンプレート設定方法については下記の記事を参考にしてください。
1.動作確認環境
動作確認は下記の環境で行っています。
- OS:Windows2000/XP
- ブラウザ:IE6.0/Firefox1.0.7/Netscape7.1/Netscape8.0.4/Opera8.5
- FCブログ:http://koikikukan.blog42.fc2.com/
2.利用規定
ご利用の前にテンプレートのページを必ずご覧くださいますよう、よろしくお願い致します。
3.テンプレート
以下の内容をコピーしてご利用ください。
HTMLスタイルシート
4.カラムレイアウト変更方法
このテンプレートではカラムレイアウトのバリエーションとして、
- 3カラム固定レイアウト
- 3カラム固定レイアウト(右サイドバー)
- 3カラムリキッドレイアウト
- 2カラム固定レイアウト(右サイドバー)
- 2カラム固定レイアウト(左サイドバー)
- 2カラムリキッドレイアウト(右サイドバー)
- 2カラムリキッドレイアウト(左サイドバー)
- 1カラム固定レイアウト
- 1カラムリキッドレイアウト
の計9種類を用意しています(それぞれのサンプルはちょっと下にある画像をご覧ください)。
カラムレイアウトは、HTMLテンプレートの body 要素の class 属性を書き換えることで変更することができます(カラム数を変更する場合はHTMLテンプレートの修正が必要ですがこれについては後述します)。例えば、3カラムレイアウトから2カラム・リキッドレイアウト(右サイドバー)に変更したい場合は、HTMLテンプレートの
<body class="layout-three-column">
の赤色部分を
<body class="layout-two-column-liquid-right">
と、青色の内容に変更します。このテクニックは Designing with Web Standards でも紹介されています。
個別エントリー用HTMLありのテンプレートをお使いの場合、ベースHTMLと個別エントリー用HTMLで異なるレイアウトを設定することができます。例えばベースHTMLで3カラム、個別エントリー用HTMLで1カラムという設定も可能です。
以下にそれぞれのレイアウトに対する class 属性値を示します。なおサンプル画像は Movable Type のものを流用しておりますので予めご了承ください。
<body class="layout-three-column">
<body class="layout-three-column-liquid">
<body class="layout-two-column-left">
<body class="layout-two-column-liquid-left">
<body class="layout-two-column-right">
<body class="layout-two-column-liquid-right">
<body class="layout-one-column">
<body class="layout-one-column-liquid">
公開テンプレートは一番上の3カラムレイアウトで配布しております。
次にカラム数を変更する場合の修正方法です。例えば3カラムから2カラム(左サイドバー)に変更する場合は、右カラムを表示する
<!-- 右カラム開始 -->
<div id="links-right-box">
<div id="links-right">
:
(ここに書かれているものをコピー)
:
</div><!-- /links-right -->
</div><!-- /links-right-box -->
<!-- 右カラム終了 -->
の間に書かれている必要なメニュー(検索・カテゴリー・バナー等)をコピーし、左カラム
<!-- 左カラム開始 -->
<div id="links-left-box">
<div id="links-left">
:
(ここにペースト)
:
</div><!-- /links-left -->
</div><!-- /links-left-box -->
<!-- 左カラム終了 -->
にペーストしてください。そのあと
<!-- 右カラム開始 -->
:
<!-- 右カラム終了 -->
を丸ごと削除します。1カラムに変更される場合は左右両方のカラムをごっそり削除してください。
5.1カラムレイアウトについて
1カラムレイアウトはポータル的な要素を排除して、個人の日記サイトとして気軽に書けるデザインにしています(言い換えると単にサイドバーをとっぱらっただけです)。個別エントリーとコメント・トラックバックは機能しますので、サイトを初めて訪れる方でも戸惑わずに閲覧することが可能です。
1カラムでご利用になる際は前項での左右カラムの削除および、テンプレート内に設定されている
<!-- for one column
<div id="footer-one"><a href="http://www.koikikukan.com/"><img src="http://blog42.fc2.com/k/koikikukan/file/banner.gif" alt="小粋空間" width="128" height="22" /></a><br />
<%ad> | <%ad2><br />
<p style="margin:10px 0 0 0">Copyright © 200x xxxxx. All Rights Reserved.</p>
</div>
/for one column -->
の赤色部分を削除してください(これでFC2ブログの広告とクレジットバナーがページの一番下に表示されます)。
6.記事の日付表示等について
FC2ブログでは投稿日の日付が記事単位に付与されますが、本テンプレートでは JavaScript を用いてページの前方に同一日付の記事がある場合、日付を重複して表示しないようにしています。また個別ページのトラックバックタイトルも同様の制御を行っています。
また複数記事が存在する場合のページ下のナビゲーションリンクについては、前後のリンクが存在しない場合は非表示にしています。
この機能を無効にする場合はベースHTMLテンプレート下にある
<script type="text/javascript">
<!--
var elements = document.getElementsByTagName('h2');
var work;
var work_old = '';
for (i=0; i<elements.length; i++) {
work = elements[i].innerHTML;
if(work == work_old){
elements[i].style.display = 'none';
}
work_old = work;
}
elements = document.getElementsByTagName('h3');
work;
work_old = '';
for (i=0; i<elements.length; i++) {
work = elements[i].innerHTML;
if(work == work_old){
elements[i].style.display = 'none';
}
work_old = work;
}
if (document.getElementById('nav_previous') ||
document.getElementById('nav_next')) {
document.getElementById('nav_main').style.display = 'inline';
} else {
document.getElementById('nav_main').style.display = 'none';
}
//-->
</script>
を削除してください。
7.XHTML1.0 Transitional valid
8.プラグインについて
プラグインカテゴリー1を左カラム下に、プラグインカテゴリー2を右カラム下に配置しています。
9.その他
基本的な動作は確認したつもりですが、FC2ブログの機能を全て把握できていない状態ですので、不具合等ございましたらご連絡ください。
2006.02.04
投稿したコメントを編集できるように修正しました。またコメントで絵文字等の挿入ができなかった不具合を修正しました。
2006.02.26
スタイルシートの全称セレクタから font-weight プロパティを削除し、見出し用のタイプセレクタを追加しました。またエントリー日付・コメントタイトル・トラックバックタイトルの配色用セレクタをまとめました。
2006.08.13
テンプレートの見出しレベルを変更しました。
2006.08.26
コメントタイトル・トラックバックタイトルについて、JavaScript なしで複数表示されないように修正しました。
2006.12.08
見出しレベル変更により同じ日付が表示される不具合を修正しました。また見出しレベルを一部修正しました。
2010.01.26
テンプレートをリニューアルしました。
2010.08.03
リキッドレイアウトのスタイルが漏れていた不具合を修正しました。
2011.02.21
SEO対策版に変更しました。
2011.12.03
本文の構成を見直しました。また冒頭の画像を大きくしました。
2011.12.09
title要素の内容を見直しました。
