中央カラムに「ニュース」「お知らせ」を表示する
公開テンプレートの中央カラムの先頭に「ニュース」「お知らせ」等の、エントリーとは別のちょっとした情報を表示させる方法です。ご質問を頂きましたので本エントリーにて紹介致します。
ここでは 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項の内容をそのままお使いください。
なおこの方法を利用した場合、テンプレートモジュールの内容を変更・保存しただけではメインページや他のアーカイブページに反映されません。
必ず再構築を実施してください。
Seesaa ブログテンプレート・不具合修正のお知らせ
現在公開中の「Seesaa ブログテンプレート」に一部不具合がありましたのでお知らせ致します。
1.不具合の事象
タグクラウドをクリックした次のページで JavaScript エラーが発生する場合があります。
2.原因
HTML に埋め込んでいるタグクラウド用 JavaScript のコメント文誤りです。
3.対処
この不具合を解消するためには、HTML の下記の部分
<script type="text/javascript" language="javascript"><!--
tag_cloud("tag_cloud");
--></script>
を
<script type="text/javascript"><!--
tag_cloud("tag_cloud");
//--></script>
に修正してください。
元記事の「Seesaa ブログテンプレート」は修正済ですので、HTML をカスタマイズされていないのであれば全て入れ替えても結構です。
4.その他
script 要素の language 属性は、仕様で非推奨(あるいは廃止)の属性ですので、ついでに削除しておきました。
以上です。
ご迷惑をおかけして申し訳ございませんがよろしくお願い致します。
Seesaa ブログテンプレート更新(タグリスト・タグクラウド対応)
現在配布中の Seesaa ブログテンプレートを、タグリスト・タグクラウド対応にしました。
タグリストは、まず「記事投稿」または「記事一覧」で記事を編集する際に「記事のタグ」欄があり、この部分に任意のタグ名を設定すると、ブログで表示される記事の下に「タグ」が表示されます。表示されたタグ名のリンクをクリックすると同一タグ名を割り振った記事リスト(タグリスト:左スクリーンショット)が表示されます。
このタグリストのページの HTML およびスタイルシートを追加しました。
またサイドバーの「タグクラウド」に対応するスタイルシートも追加しました。デフォルトテンプレートで配布されているスタイルシートには説明がないため、一部コメントで補足しております。タグ部分のスタイルを変更される場合の参考になれば幸いです。
元記事はすでに修正済ですが、2006年12月16日以前に Seesaa ブログテンプレートをご利用になっている方は、下記のテキストエリアに表示している差分を、現在ご利用中の HTML およびスタイルシートに追加してください。HTML の挿入位置はリスト 1 の通りです。
: <% if:page_name eq 'search' -%> <% loop:list_article %> <div class="blog"> <h2 class="date"><% article.createstamp | date_format("%Y年%m月%d日") %></h2> <div class="blogbody"> <h3 class="title"><a href="<% article.page_url %>" class="title"><% article.subject %></a></h3> <div class="text"><% article.entire_body | text_summary(240) %></div> <div class="posted">posted by <% article.nickname %> at <% article.createstamp | date_format("%H:%M") -%></div> </div> </div> <% /loop %> <% /if -%> ここに下記のテンプレートを挿入 </div><!-- /content --> <!-- 中央カラム終了 --> <% if:have_content_right -%> <!-- 右カラム開始 --> <div id="links-right-box"> <div id="links-right"> :- リスト1 HTML挿入部分
スタイルシートの追加分は最後の方に追加してください。
HTML
スタイルシート
上記の差分 HTML(あるいは改修後の配布テンプレート) をそのまま利用した場合、タグリストのページには記事のタイトルと投稿時間のみが表示されます。冒頭のスクリーンショットのように、記事本文の一部を表示させたい場合は、HTML に含まれる、
-
: <!--<div class="tag-article-summary"><% article.entire_body | text_summary(40) | tag_strip %></div>--> : - リスト2 タグリストに記事本文を表示する場合の修正箇所
の赤色部分を削除してください。(40)になっている数字を変更すると表示文字数を変更できます。
タグリストのテキスト表示については大体確認したつもりですが、表示に不具合がある場合はお知らせください。なお画像・音声・動画についての HTML タグも一応追加しておりますが、これらについては全く試していません。予めご了承ください。
2006.02.28 追記 タグクラウド用スクリプトのマークアップが誤っていたので修正しました。ついでに language 属性を削除しました。公開テンプレートの背景色をCSSで変更する
当サイトで配布しているテンプレート(3・2・1カラム固定レイアウトおよび1カラムリキッドレイアウト)の、ブログの左右および下部に表示されている背景の背景色を変更する方法です。
まずはサンプルをご覧ください。
変更前
![]()
変更後
![]()
以下、変更方法です。
1.固定レイアウト(3カラム/2カラム/1カラム)の場合
リスト1.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; }- リスト1.1 固定レイアウト(3カラム/2カラム/1カラム)の場合
2.1カラムリキッドレイアウトの場合
リスト2.1に示すスタイルシートの赤色部分を変更します。1項と同様、この設定もスタイルシートの後方にあります。
body.layout-one-column-liquid { background: #36414d; }- リスト2.1 1カラムリキッドレイアウトの場合
3.変更例:背景色をグレーに変更
冒頭のスクリーンショットの「変更後」の設定はリスト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; }- リスト3.1 変更例
カラーの指定方法は、例えば下記にあります。
eWeb:Web配色の見本:Webセーフカラー216色/カラーネーム一覧
その他、Google 等の検索エンジンで「Web」と「配色」「カラー」「カラーチャート」「RGB」等を組み合わせたキーワードで検索すると色々出てきます。
Seesaa ブログでフッタバナーがセンタリングされない不具合を修正
公開中の Seesaa ブログテンプレートついて、「フッタにセンタリング表示している Seesaa ブログのバナーを Firefox 等の Mozilla 系ブラウザで閲覧するとセンタリングされない」という問題がみつかったため、修正致しました。
また Seesaa ブログで提供されているテンプレートについても同様の事象が発生しているようです(サンプル表示で確認した限り)ので、原因と対処方法を紹介します。
1.センタリングされない原因
公開テンプレートに設定されたフッタ(青色)はリスト1.1のようになっています。他のテンプレートも同様の設定のものが多いようです。
<div id="footer"> <% content_footer -%> </div>- リスト1.1 Seesaa ブログのフッタ(テンプレート)
またそれに対応する CSS はリスト1.2のようになっています。
#footer { text-align: center; }- リスト1.2 フッタのCSS
これで正常にセンタリングされるように思われますが、リスト1のテンプレートから再構築によって生成された HTML は、リスト1.3の青色の内容に変換されます。
<div id="footer"> <div class="powered"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><a href="http://seesaa.jp"><img src="http://blog.seesaa.jp/img/seesaablog.gif" width="138" height="22" border="0" alt="Powered by Seesaa" /></a></td> </tr> <tr> <td><div style="background-color:#9C9C9C;text-align:center;font-size:10px;padding:3px;margin:0px;"><a href="http://seesaa.jp" style="color:#FFF;">Seesaa</a><a href="http://blog.seesaa.jp" style="color:#FFF;">ブログ</a></div></td> </tr> </table> </div> </div>- リスト1.3 Seesaa ブログのフッタ(HTMLに展開後)
ご覧の通り、Seesaa ブログのバナーが table 要素(つまりブロックレベル要素)で括られます。
table 要素をセンタリングするためには、昨日エントリーした「CSSでブロックレベル要素をセンタリングする」の設定が必要ですが、リスト1.2 の設定しか行われていないとセンタリングされないという不具合が発生します。
公開テンプレートについては「バナーはインライン要素で表示」と思い込んでいたこと、また Firefox / Opera での表示の確認がきちんとできておりませんでした(IE6ではテンプレートは「後方互換モード」と認識されるため本問題が顕在化しません)。申し訳ございません。
2.対処方法
スタイルシートにリスト2.1のセレクタを追加してください
.powered { margin-left: auto; margin-right: auto; width:138px; }- リスト2.1 スタイルシートに追加するセレクタ
当サイトの Seesaa ブログテンプレートをお使いの場合は、下記に該当する方が対象です。ご迷惑をおかけして申し訳ございませんがよろしくお願い致します。
- 2006.10.21 以前にテンプレートを利用
- テンプレートのフッタバナー部分を修正していない
他のテンプレートをご利用の方も同様の修正を行いますが、
- リスト1.1 のマークアップになっていること
- リスト1.2 の CSS が設定されていること
が前提です。該当しない場合は「CSSでブロックレベル要素をセンタリングする」を参考にして修正してみてください。
サイドバーの折りたたみ
マルチカラムレイアウトでサイドバーを丸ごと折りたたむカスタマイズを紹介します。動作は Windows XP+IE6.0/Firefox1.5/Opera8.0 で確認しています。
下記にサンプルを用意しましたのでお試しください。
タイトル下の両端にあるリンクをクリックすると、サイドバーの表示・非表示が切り替わります。また折りたたみ時にリンクの内容を変更することができます。サンプルは3カラムですが、2カラムレイアウトでの折りたたみも可能です。
1.動作条件
下記の条件で動作します。
- cookieが有効であること
- 固定レイアウト(3カラムおよび2カラム)であること
また公開テンプレートで動作するように設定していますので、公開テンプレート以外でご利用になる場合はスクリプトを修正する必要があります。
2.機能概要
下記のような動作でサイドバーを折りたたみます。
- 折りたたみ用リンクをクリック
- JavaScript起動
- cookieより現在のレイアウト名を取得
- クリックされたリンク位置(右または左)と現在のレイアウトを判定し、新しいレイアウトに変更
- カラム幅がどのレイアウトでも同一になるように、レイアウトに応じて中央カラム幅を変更
- 変更したレイアウトに応じてクリックされたテキストリンクを変更
- 変更したレイアウト名をcookieに保持
3.ドネーション
カスタマイズ内容のご利用および質問に対する回答等について、ご支援・ご賛同くださる方からの寄付をお待ち申し上げます。
将来に向けてのご寄付(例:ドネーションによる機能追加や改善要望)は、それらが実現しない可能性があるため、ご遠慮ください。
- 現状のコンテンツで役立った
- 質問の回答で疑問や不具合が解消された
- エントリーの修正等で要望内容が満たされた
等の後に判断して頂ければ結構です。
参考:Web投げ銭
上記の「Make a Donation」のリンクをクリックすると 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;
}
Seesaaブログテンプレート
|
1.動作確認環境
動作確認は下記の環境で行っています。
- OS:Windows2000/XP
- ブラウザ:IE6.0/Firefox1.0.7/Netscape7.1/Netscape8.0.4/Opera8.5
- Seesaaブログ:http://koikikukan.seesaa.net/
Mac環境はありませんので Safari での確認はできておりません。予めご容赦ください。
2.利用規定
ご利用の前にテンプレートのページを必ずご覧くださいますよう、よろしくお願い致します
3.カラムレイアウト変更方法
このテンプレートではカラムレイアウトのバリエーションとして、
- 3カラム(カラム幅固定)
- 3カラムリキッドレイアウト(中央カラム幅可変)
- 2カラム(右サイドバー:カラム幅固定)
- 2カラム(左サイドバー:カラム幅固定)
- 2カラムリキッドレイアウト(右サイドバー:左カラム幅可変)
- 2カラムリキッドレイアウト(左サイドバー:右カラム幅可変)
- 1カラム(カラム幅固定)
- 1カラムリキッドレイアウト(カラム幅可変)
の計8種類を用意しています(それぞれのサンプルはちょっと下にある画像をご覧ください)。
カラムレイアウトは、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カラム(左サイドバー)に変更した場合、管理メニューの「デザイン」→「コンテンツ」で右サイドバーに表示するものがなくなれば自動的に2カラム表示になります。
非表示にするサイドバーにコンテンツが残っている場合は、
<% if:have_content_right -%>
<!-- 右カラム開始 -->
<div id="links-right-box">
<div id="links-right">
:
</div><!-- /links-right -->
</div><!-- /links-right-box -->
<!-- 右カラム終了 -->
<% /if -%>
を丸ごと削除してください。1カラムに変更される場合は左右両方のカラムをごっそり削除してください(いずれもサイドバーの復活が面倒なのでお勧めできません)。
4.コンテンツについて
このテンプレートでは、管理メニューの「デザイン」→「コンテンツ」の設定下記であることを想定しています。
- ブログ名:ヘッダー
- ブログ説明:ヘッダー
- カレンダー:左サイドバー/右サイドバー
- 新着記事:左サイドバー/右サイドバー
- 最近のコメント:左サイドバー/右サイドバー
- 最近のトラックバック:左サイドバー/右サイドバー
- 記事:メイン
- 記事検索:左サイドバー/右サイドバー
- ブログクリック:左サイドバー/右サイドバー
- カテゴリ:左サイドバー/右サイドバー
- 過去ログ:左サイドバー/右サイドバー
- RDF Site Summary:左サイドバー/右サイドバー
- Powered By:フッター
表示するページ・並び順は任意ですが、ページ毎にカラムレイアウトが異ならないようにしてください。例えばトップページで3カラム・記事ページで2カラムという設定はできませんのでご注意ください。
5.1カラムレイアウトについて
1カラムレイアウトはポータル的な要素を排除して、個人の日記サイトとして気軽に書けるデザインにしています(言い換えると単にサイドバーをとっぱらっただけです)がアーカイブページ等のリンクは考慮しておりませんのでご注意ください。
6.クレジットバナーについて
当サイトのクレジットバナーはデフォルトで右サイドバー下に表示するようにしています。右カラムを削除される場合は下記のタグを左サイドバーに挿入してください。
<div class="side">
<a href="http://www.koikikukan.com/"><img src="http://koikikukan.up.seesaa.net/image/koikikukan.gif" alt="小粋空間" style="border:none" /></a>
</div>
7.その他
基本的な動作は確認したつもりですが、Seesaaブログの機能を全て把握できていない状態ですので、不具合等ございましたらご連絡ください。
8.テンプレート
スタイルシート
2006.12.16
タグクラウド対応するよう修正しました。
2007.03.03
タグクラウド対応で JavaScript エラーが出る不具合を対処しました。
2007.07.03
6項のタグを修正しました。

