« 秋の日のお洗濯 | メイン | 10月のお庭 »

2006年10月13日
Top > MovableType > テンプレート編 > テンプレート変更箇所(その1)

●テンプレート変更箇所(その1)

ここからは、「小粋空間」でどのエントリーを使って変更したかのみお伝えします。

ここまで変更できたあなたは、それだけで簡単に理解できると思います。

 

 

1.              Top Movable Type カスタマイズ ツリー JavaScript 不要なサイドメニューのツリー化 for Movable Type

何も難しいところはありません。

4.ツリー画像のダウンロード

でダウンロードした画像ファイルの名前

実線:tree_lst_solid.gif / tree_end_solid.gif

点線:tree_lst_dotted.gif / tree_end_dotted.gif

それぞれ、tree_end.gif tree_lst.gifに変えてください。

これは、

3.CSS (全リスト共通)の

ul.tree li {

    margin: 0!important;

    padding: 0 0 0 16px!important;

    background-image: url(tree_end.gif);

    background-repeat: no-repeat!important;

    list-style: none!important;

}

ul.tree li.tree_end {

    background-image: url(tree_end.gif);

    list-style: none;

}

に合わせるためです。

background-image: url(tree_end.gif);

この設定だと、ブログのルートフォルダ「blog」 にアップロードします。

例えば、「/blog/images/system」 に一括してシステムに関係する画像を置いておく場合なら、

    background-image: url(./images/system /tree_end.gif);

    background-image: url(./images/system /tree_end.gif);

となります。

「url(./ ・・・・・」 と見えにくいですが、“.”小文字のドットが入ります。

この小文字のドット1つは、カレントフォルダをさします。「今いるフォルダから」と考えます。

 

2.              Top Movable Type カスタマイズ 新着 新着エントリーのあるカテゴリーに New マークをつける

ここも、難しいところはありません。

よかったら、「イの葉」が使っている“NEW!!”マークnew.gifを使ってください。

ちなみに、これ「ヤフー!」のNEW!マークに + !したものです。一応作ったので著作権違反はないかと。(笑)

 

3.              Top Movable Type カスタマイズ PHP Movable Type PHP化(その1

ここも、難しいところはありません。ただここは、ページが5ページに分割されているので注意して下さい。

ちなみに、(その2)がありますが、できませんでした。

Movable Type PHP化(その2.html のままPHPを有効にする)

 

4.              カレンダーについて

公開テンプレートでもカレンダーをサポートしています。ただし、以下の設定を行うことでカレンダーは表示されます。 設定を行わないと表示されません。

 

管理画面にある「設定」→「公開」の順にクリックし、次ページの下にある「アーカイブのマッピング」で「日別」 の左側にチェックをつけて保存し、再構築してください。

 

注意:このカレンダーは、月送り機能がありません。

 

 

5.              Top Movable Type カスタマイズ カレンダー 月送りンダー

ここも難しいところはありませんが、「アーカイブの設定」による違いを見ていきましょう。

「小粋空間」の「1.アーカイブテンプレート用ディレクトリ設定」より

1.1 バージョン 3.2 以降

ここにチェックを入れる前は、管理画面は以下のようになっています。

 

テンプレート変更箇所(その1)

この状態では、ディレクトリ「blog」 の中は下記のようになります。

テンプレート変更箇所(その1) 

それでは、「アーカイブの設定」にチェックを入れて、「アーカイブURL」 と「アーカイブ・パス」を設定し、再構築すると、

テンプレート変更箇所(その1) 

下記画像のように、「archives」 の下に上記画像(2つ前) の青印部か生成されます。

ここで注意は、ここで設定したからといって、青印部が削除されるわけではありません。MovableTypeには、 フォルダの削除機能は無いはずです。

テンプレート変更箇所(その1) 

blog」 フォルダがすっきりしました。(ffftpで削除してかまいません。 心配なら削除対象のフォルダを任意の名前に変更して、問題が無いことを確かめてから、削除してください。)

 

2.カレンダー用スタイルシート作成

手順通りに行ってください。

2.1 バージョン 3.2 以降

テンプレート変更箇所(その1) 

3.カレンダー用アーカイブテンプレート作成

手順通りに行ってください。

3.1 バージョン 3.2 以降

テンプレート変更箇所(その1) 

ここで注意です、「リスト2:カレンダー用アーカイブテンプレート」を下記のように作成しますが、 ここまででPHP化していますので、 下の画像の青印部分のようにhtmlからphpに変更してください。

テンプレート変更箇所(その1) 

4.ファイルの関連付け

手順通りに行ってください。

4.1 バージョン 3.2 以降

 

下の画像のように、黄印部のラジオボタンはそのまま、青印を「calendar/%y/%m/%i」 に変更して、保存します。

テンプレート変更箇所(その1) 

この時点で再構築をしても、ブログ自体に変化はありません。あとは、「5.カレンダーの設置」の通りに、 各テンプレートにカレンダーを設置することにより、カレンダーが表示されます。

「再構築」すると「blog/archives」 フォルダに「calender」 フォルダが作成されます。

テンプレート変更箇所(その1) 

5.カレンダーの設置

手順通りに行ってください。

「小粋空間」の「5.カレンダーの設置」は、php化する前の記事なので上記と同様に赤印部を「html からphp」 として下さい。

テンプレート変更箇所(その1) 

6.サイトの再構築

再度「再構築」すると出来上がりです。^^

 

6.              Top Movable Type カスタマイズ カレン 月送りカレンダー状態保持スクリプト

ここも、難しいところはありません。

「小粋空間」に

1.JavaScriptファイルの設定

下記を"calendar.js"というファイル名でローカル・ サイト・パスに保存してください。

 

と言う所がありますが、このローカル・サイト・パスとはレンタル・サーバーのブログのパスのことです。「イの葉」で言えば、 「www.inoha.jp/blog」 のことで、ここにffftpを使って"calendar.js"をアップロードしてください。

後は順を追って変更すれば問題ないでしょう。

 

7.              Top Movable Type カスタマイズ カレン リアルタイムカレンダー(改)

ここは、少し難解??!!

 

Movable Type のカレンダーでは、エントリー投稿やコメント投稿が行われないとカレンダーは更新されず、本日の日付が古いままです。 これを解消するための変更がこの「リアルタイムカレンダー(改)」です。

 

「小粋空間」では、

ここでは拡張子がすでに .php になっている場合とそうでない場合、および月送りカレンダー利用の場合の3つのケースについて説明しています。 それぞれに必要な項目は下記の通りです。

 

拡張子が .php になっている場合:1、2.1(または2.3)

拡張子が .php になっていない場合:1、3、4

月送りカレンダーの場合:1、2.2

 

とあります。

現在までで、「イの葉」のブログは拡張子が.php で月送りカレンダー となっています。

よって、「月送りカレンダーの場合:1、2.2」の変更を行います。

 

また、

「小粋空間」での

月送りカレンダーの場合の注意事項

この最後の

・月送りカレンダー用ファイルの拡張子を「.html」 から「.php」 に変更した際、.html ファイルが残っているとカレンダーが正常に表示されない場合があります。 .html ファイルは必ず削除してください。

 

は注意してください。他の項目は大丈夫なはずです。

 

1.スタイルシートにカレンダー用スタイルの追加(共通)

ここは、

    background : #000000; /* 背景色をつける設定 */

のみを追加しました。ただこれだと、本日が真っ黒なので淡い黄色 #ffff99にしてみました。

これは好みの問題ですね。(笑)

 

よって

.today {

    display: block;

    text-align: center;

    border: 1px solid #444444;

    background : #ffff99; /* 背景色をつける設定 */

}

 

としました。

 

2.カレンダー関連タグの変更(拡張子が .php になっている場合/月送りカレンダーの場合)

「小粋空間」では

カレンダーの設定がされている各テンプレートの <MTCalendar></MTCalendar> の部分を下記のスクリプトに変更します。

 

とあります。具体的には、

2.2 月送りカレンダーの場合

月送りカレンダーご利用の方は「アーカイブ・テンプレート」の「カレンダー」に設定されている該当部分を下記に変更してください。

 

であり、「アーカイブ・テンプレート」の「カレンダー」の下の方

 

<MTCalendar month="this">

<MTCalendarWeekHeader><tr></MTCalendarWeekHeader>

<td><MTCalendarIfBlank><MTElse><span<MTCalendarIfToday> class="today"</MTCalendarIfToday>></MTElse></MTCalendarIfBlank><MTCalendarIfEntries>

<MTEntries lastn="1">

<a href="<$MTEntryLink archive_type="Daily"$>" target="_top"><$MTCalendarDay$></a>

</MTEntries>

</MTCalendarIfEntries><MTCalendarIfNoEntries><$MTCalendarDay$></MTCalendarIfNoEntries><MTCalendarIfBlank>

<MTElse></span></MTElse></MTCalendarIfBlank></td><MTCalendarWeekFooter></tr></MTCalendarWeekFooter></MTCalendar>

 

をごっそり下記に変更です。

 

<?php $day = date("j"); $year = date("Y"); $month = date("m"); ?>

<MTCalendar month="this">

<MTCalendarWeekHeader><tr></MTCalendarWeekHeader>

<MTCalendarIfEntries>

<?php $y="<$MTCalendarDate format='%Y'$>"; $m="<$MTCalendarDate format='%m'$>"; $d="<$MTCalendarDay$>"; if($year == $y && $month == $m && $day == $d) { $style = " class=\"today\""; } else { $style = ""; } ?>

<td align="center"<?php print "$style"; ?>><span class="calendar"><MTEntries lastn="1"><a href="<$MTEntryLink archive_type="Daily"$>"   target="_top"><$MTCalendarDay$></a></MTEntries></span></td>

</MTCalendarIfEntries>

<MTCalendarIfNoEntries>

<?php $y="<$MTCalendarDate format='%Y'$>"; $m="<$MTCalendarDate format='%m'$>"; $d="<$MTCalendarDay$>"; if($year == $y && $month == $m && $day == $d) { $style = " class=\"today\""; } else { $style = ""; } ?>

<td align="center"<?php print "$style"; ?>><span class="calendar"><$MTCalendarDay$></span></td>

</MTCalendarIfNoEntries>

<MTCalendarIfBlank><td>&nbsp;</td></MTCalendarIfBlank>

<MTCalendarWeekFooter></tr></MTCalendarWeekFooter>

</MTCalendar>

 

 

必ず各変更後、「保存」して「再構築」してください。これで終了です。また、各テンプレートを変更後「保存」してしまうと、アンドゥ (Ctl+zなどで) が効かなくなるので、変更前のファイルもしくは変更箇所を保存しておきましょう。

 

8.              Top Movable Type カスタマイズ カレン 月送りカレンダー・1日に表示されなくなる不具合を改善

ここも難しくありません。各テンプレート名が

1.  メインページ

2.  アーカイブペ-ジ

3.  エントリー・アーカイブ

4.  カテゴリ・アーカイブ

5.  日付アーカイブ

 

に対して、変更していきます。

 

具体的には

<!-- カレンダー開始 -->

<div align="center" class="side">

<iframe name="cal-iframe" src="<$MTBlogURL$>archives/calendar/<MTEntries lastn="1" sord_order="descend"><$MTEntryDate format="%Y/%m/index" $></MTEntries>.php" width="150" height="140" scrolling="NO" frameborder="0" marginwidth="0" marginheight="0">

</iframe>

</div>

 

こうなります。

 

9.              Top Movable Type カスタマイズ カレン カレンダーのリンクにツールチップを設定する

ここも難しくありません。

しいて言えば、どこと置き換えるのか解りづらいことかな。テンプレート名「カレンダー」の

 

    ・

    ・

<!-- リアルタイムカレンダー(改) -->

<?php $day = date("j"); $year = date("Y"); $month = date("m"); ?>

<MTCalendar month="this">

<MTCalendarWeekHeader><tr></MTCalendarWeekHeader>

<MTCalendarIfEntries>

<?php $y="<$MTCalendarDate format='%Y'$>"; $m="<$MTCalendarDate format='%m'$>"; $d="<$MTCalendarDay$>"; if($year == $y && $month == $m && $day == $d) { $style = " class=\"today\""; } else { $style = ""; } ?>

<td align="center"<?php print "$style"; ?>><span class="calendar"><MTEntries lastn="1"><a href="<$MTEntryLink archive_type="Daily"$>"   target="_top"><$MTCalendarDay$></a></MTEntries></span></td>

</MTCalendarIfEntries>

<MTCalendarIfNoEntries>

<?php $y="<$MTCalendarDate format='%Y'$>"; $m="<$MTCalendarDate format='%m'$>"; $d="<$MTCalendarDay$>"; if($year == $y && $month == $m && $day == $d) { $style = " class=\"today\""; } else { $style = ""; } ?>

<td align="center"<?php print "$style"; ?>><span class="calendar"><$MTCalendarDay$></span></td>

</MTCalendarIfNoEntries>

<MTCalendarIfBlank><td>&nbsp;</td></MTCalendarIfBlank>

<MTCalendarWeekFooter></tr></MTCalendarWeekFooter>

</MTCalendar>

<!-- リアルタイムカレンダー(改) -->

 

赤の部分を、

<MTEntries><MTDateHeader><a href="<$MTEntryPermalink archive_type="Daily"$>" title="</MTDateHeader><$MTEntryTitle$><MTDateFooter>" target="_top"><$MTCalendarDay$></a><MTElse>&nbsp;/&nbsp;</MTElse></MTDateFooter></MTEntries>

 

と置き換えて!! おしまい。

 

 

10.              Top Movable Type カスタマイズ カレン 休日表示付リアルタイムカレンダー for Movable Type

 

ここは、どこの設定を行うかだけ話します。それ以外は難しくありません。

1.休日表示用カレンダースクリプトのダウンロード

3.テンプレートの修正1(スクリプトのインクルード)

テンプレート名、カレンダーに追加します。

4.3 月送りカレンダーの場合

ここも、テンプレート名、カレンダーに追加します。

「カレンダー用アーカイブテンプレートの最後に下記を追加」とあります、場所は

</table>

</div>

 

<!-- 休日表示付リアルタイムカレンダー for Movable Type -->

<script type="text/javascript">

setCurrentDate();

setWeekendAndHoliday('<$MTArchiveDate format="%Y"$>','<$MTArchiveDate format="%m"$>');

</script>

<!-- 休日表示付リアルタイムカレンダー for Movable Type -->

 

</body>

</html>

 

ここに追加しました。

 

5.テンプレートの修正3(スクリプト追加)

外部ファイル「dayChecker.js に追加します。くれぐれも、

<script type="text/javascript"> と </script> を抜いた箇所を追加してください。

2.スクリプトのアップロード

 

そして、「再構築」してください。終了です。

トラックバックURL

このエントリーのトラックバックURL:
http://www.inoha.jp/cgi-mt/mt33_3ja/mt-tb.cgi/84

コメントする