2008年12月24日

サイドバーの情報をメインページと同じ内容にする方法

サイドバーの表示をメインページと同じ内容にする方法を紹介します。

なお、アーカイブページの仕様により、ここで示すカスタマイズではメインページと全く同じ表示にはなりません。理由は下記の記事を参考にしてください。

アーカイブページのリストの表示内容が異なる理由

1.右サイドバー

右サイドバーの「Tag Clouds」「Categories」「Monthly Archives」を各アーカイブページに表示する方法です。

「サイドバー」テンプレートモジュールの編集画面を開き、下記に示す赤色部分を削除してください。

<div id="links-right-box">
<dl id="links-right">
 
<dt class="sidetitle">
Search this site
</dt>
 
<dd class="side">
<form method="get" action="<$MTCGIPath$><$MTSearchScript$>">
<fieldset>
<input type="hidden" name="IncludeBlogs" value="<$MTBlogID$>" />
<input id="search" tabindex="8"  accesskey="t" name="search" size="20" value="" />
<input type="submit" tabindex="9" accesskey="s" value="Search" />
</fieldset>
</form>
</dd>
 
<MTIf name="main_index">
<dt class="sidetitle">
Tag Clouds
</dt>
 
<dd class="side">
<ul id="tags">
<MTTags>
<li class="module-list-item taglevel<$MTTagRank$>">
<a href="<$MTTagSearchLink$>"><$MTTagName$></a>
</li>
</MTTags>
</ul>
</dd>
</MTIf>
 
<MTIf name="module_category_archives">
<MTIfArchiveTypeEnabled archive_type="Category">
<dt class="sidetitle">
Categories
</dt>
 
<dd class="side">
<div id="categories">
<MTTopLevelCategories>
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a> [<$MTCategoryCount$>]
<MTElse>
<li><MTCategoryLabel>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse max_depth="3">
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTTopLevelCategories>
</div>
</dd>
</MTIfArchiveTypeEnabled>
</MTIf>
 
<MTIf name="module_monthly_archives">
<MTIfArchiveTypeEnabled archive_type="Monthly">
<dt class="sidetitle">
Monthly Archives
</dt>
 
<dd class="side">
<ul>
<MTArchiveList archive_type="Monthly">
<li><a href="<$MTArchiveLink$>"><$MTArchiveTitle$></a> [<$MTArchiveCount$>]</li>
</MTArchiveList>
</ul>
</dd>
</MTIfArchiveTypeEnabled>
</MTIf>
 
<dt class="sidetitle">
Links
</dt>
 
<dd class="side">
<ul>
<li>ここにリンクを記述</li>
</ul>
</dd>
 
<dt class="sidetitle">
Counter
</dt>
<dd class="counter">
ここにカウンタを設置
</dd>
 
<dd class="syndicate">
<a href="<$MTLink template="rss"$>">Syndicate this site (XML)</a>
</dd>
 
<MTBlogIfCCLicense>
<dd class="syndicate">
<a href="<$MTBlogCCLicenseURL$>"><img alt="Creative Commons License" style="border:none" src="<$MTBlogCCLicenseImage$>" /></a><br />
This weblog is licensed under a <a href="<$MTBlogCCLicenseURL$>">Creative Commons License</a>.
</dd>
</MTBlogIfCCLicense>
 
<dd class="powered">
<ul>
<li class="module-powered"><a href="http://www.movabletype.org/"><img src="<$MTStaticWebPath$>images/mt4-bug-pbmt-white.png" alt="Powered by Movable Type <$MTVersion$>" width="120" height="75" /></a></li>
<li><a href="http://www.koikikukan.com/"><img src="<$MTStaticWebPath$>plugins/KoikikukanTemplateSet/images/koikikukan.gif" alt="小粋空間" width="128" height="22" /></a></li>
</ul>
</dd>
 
</dl>
</div>

ここで、削除する MTIf タグの説明を簡単にしておきます。

MTIf というタグは、nameモディファイアに記述された変数の値が1の場合に、MTIf タグのブロック内を実行するためのテンプレートタグです。例えば、

<MTIf name="main_index">
...中略
</MTIf>

は、変数 main_index の値が1のときにブロック内を実行します。本テンプレートで変数 main_index に 1 を設定している場所は、メインページインデックステンプレートの 1 行目にある次の部分だけです。

<MTSetVar name="main_index" value="1">

MTSetVar タグは変数に値を設定するテンプレートタグです。name モディファイアに変数名、value モディファイアに値を設定します。

これにより、

<MTIf name="main_index">
...中略
</MTIf>

で括った部分はメインページでしか表示されないようになっています。

本書はバージョン 4.0 時点での執筆ですので、この変数の仕組みはバージョン 4.1 や 4.2 ではMovable Typeに予め登録されている変数があります。

予約変数一覧 for Movable Type 4.2

2.左サイドバー

左サイドバーの「Recent Entries」を各アーカイブページに表示する方法です。

「サイドバー2」テンプレートモジュールの編集画面を開き、下記に示す赤色部分を削除してください。

<div id="links-left-box">
<dl id="links-left">
 
<MTIfArchiveTypeEnabled archive_type="Daily">
<dd class="side" id="calendar">
<table summary="投稿した日にリンクする月別のカレンダー">
<caption class="calendarhead"><$MTDate format="%B %Y"$></caption>
<thead>
<tr>
<th abbr="Sunday"><span class="sunday">Sun</span></th>
<th abbr="Monday"><span class="weekday">Mon</span></th>
<th abbr="Tuesday"><span class="weekday">Tue</span></th>
<th abbr="Wednesday"><span class="weekday">Wed</span></th>
<th abbr="Thursday"><span class="weekday">Thu</span></th>
<th abbr="Friday"><span class="weekday">Fri</span></th>
<th abbr="Saturday"><span class="saturday">Sat</span></th>
</tr>
</thead>
<tbody>
<MTCalendar>
<MTCalendarWeekHeader><tr></MTCalendarWeekHeader>
<td<MTCalendarIfToday> class="today"</MTCalendarIfToday>><MTCalendarIfBlank><MTElse><span class="day"></MTElse></MTCalendarIfBlank>
<MTCalendarIfEntries>
<MTEntries lastn="1"><a href="<$MTEntryLink archive_type="Daily"$>"><$MTCalendarDay$></a></MTEntries>
</MTCalendarIfEntries><MTCalendarIfNoEntries><$MTCalendarDay$></MTCalendarIfNoEntries><MTCalendarIfBlank> 
<MTElse></span></MTElse></MTCalendarIfBlank></td><MTCalendarWeekFooter></tr></MTCalendarWeekFooter></MTCalendar>
</tbody>
</table>
</dd>
</MTIfArchiveTypeEnabled>
 
<MTIf name="module_recent_entries">
<dt class="sidetitle">
Recent Entries
</dt>
 
<dd class="side">
<ul>
<MTEntries lastn="10">
<li><a href="<$MTEntryPermalink$>" title="e<$MTEntryID$>"><$MTEntryTitle$></a></li>
</MTEntries>
</ul>
</dd>
</MTIf>
 
<dt class="sidetitle">
Recent Comments
</dt>
 
<MTIfNonZero tag="BlogCommentCount">
<dd class="side">
<ul>
<MTEntries lastn="20" recently_commented_on="3">
  <li><a href="<$MTEntryLink$>"><MTEntryTitle></a>
    <ul>
    <MTComments lastn="2">
      <li>
        └ <a href="<$MTEntryLink$>#c<$MTCommentID$>" title="c<$MTCommentID$>">
          <MTCommentAuthor default="Anonymous">
        </a> <$MTCommentDate format="%m/%d"$>
      </li>
    </MTComments>
    </ul>
  </li>
</MTEntries>
</ul>
</dd>
</MTIfNonZero>
 
<dt class="sidetitle">
Recent Trackbacks
</dt>
 
<MTIfNonZero tag="BlogPingCount">
<dd class="side">
<ul>
<MTPings lastn="10">
  <li><MTPingEntry><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></MTPingEntry>
    <ul>
      <li>
        └ <a href="<$MTPingURL$>" title="p<$MTPingID$>">
          <$MTPingBlogName$>
        </a> <$MTPingDate format="%m/%d"$>
      </li>
    </ul>
  </li>
</MTPings>
</ul>
</dd>
</MTIfNonZero>
 
</dl>
</div>

このブログ記事と同じカテゴリのブログ記事